前几天,在看Android的makefile时,为方便自己在make文件查找字符串,用perl写了个小工具,实现的功能就是在目录下的多个文本文件中查找字符串。那个工具在同事的帮助下,已经实现了不少功能,平时用用也该够了,所以就没有继续添加新功能上去。上周四下午突然看到别人用python写的对xml文件分析Android资源的小工具。此前不知道python具体是什么,后来百度了下,发现它的广告做的非常好,又见同事说是很强大。然后周五的时候百度了下python的教程开始学习。
http://woodpecker.org.cn/abyteofpython_cn/chinese/index.html
这份教程真的不错!入门可以很快。
我是直接跳到第八章,后面写代码的时候又会回头去查前几章的内容,当然还会去查百度。看了看差不多就开始用python来实现我的多文件查找字符串。周五下午的时候差不多已经实现了基本功能,今天上午又完善了下代码,差不多实现了些许功能,当然没有我的perl版的功能多。(perl版的fs已经放在公司的服务器上供有需求的人使用和修改)中间还存在一些bug,但是迫不及待的要发到网上,给诸位分享交流下。
功能:
工具的作用就是在当前目录(包括子目录,可以指定目录深度)的各文件中,查找字符串。
名称:fs
"Find String" or "File Search"
用法:
usage: fs [-t filetype]/[-n num] [string]
To find the string under the directory
-h show help
-t filetype Search the file in filetype
-n num Print [num] items
-l num the max level deepth of directory you want to search
ps:可以通过
mv fs_release_1.0.py fs
sudo mv fs /usr/bin
将fs放到usr的bin目录下,这样在打开终端的时候就可以使用了。
If you have some improvements, new features and bugs, please share them with me, I will update it for you.
分享到:
相关推荐
8. **安全的`os.fspath()`**:这个新函数用于获取路径对象的字符串表示,确保跨平台兼容性和安全性。 9. **`pathlib`模块增强**:Python 3.7对`pathlib`模块进行了扩展,增加了更多的方法,如`resolve()`和`...
`fuzzyset2`库是Python开发者处理模糊匹配和近似字符串查找问题的强大工具。通过其简洁的API和高效的算法,可以显著提高处理文本数据的效率和精度,尤其适用于对用户体验和数据准确度要求较高的项目。对于从事Python...
- **文本处理**: 使用`grep`搜索文件中的特定字符串:`grep "file" * -nR`。这会列出包含“file”的所有文件及其行号。 - **权限管理**: 更改文件或目录的所有权:`sudo chown root:root first_fs -R`。这会将`first...
# 使用正则表达式查找包含特定字符串的文件名 import re files = os.listdir('.') matched_files = [file for file in files if re.search('pattern', file)] for file in matched_files: print(file) ``` 四、...
- **字符串匹配算法**:如KMP算法、Boyer-Moore算法等,用于高效地在文本中搜索模式。 - **压缩算法**:如Huffman编码、LZ77/LZ78等,用于减少文本文件的大小。 - **正则表达式**:一种用于描述文本模式的强大工具,...
5. **代码实现**:在编程实现时,可能会使用如Python的`rtfparser`库,或者C++的`librtf`库等工具,它们提供了方便的API来解析RTF文件。如果没有现成的库,就需要自行解析RTF的语法结构,这可能涉及到字符串处理和...
- `s/old/new/g`: 全局替换字符串old为new。 - `n d`: 删除第n行。 - `n a\添加内容`: 在第n行后面添加一行。 - `n i\添加内容`: 在第n行前面插入一行。 - `n p`: 打印第n行。 - `/pattern/d`: 删除匹配pattern的...
正则表达式(Regular Expression,简称regexp),是一种模式匹配工具,用于在文本中查找、替换或提取符合特定规则的字符串。在各种编程语言中,正则表达式都是处理字符串的强大工具,尤其在数据验证、文本分析和搜索...
批量替换文本的基本原理是通过编程或特定软件工具,在大量的文本文件中查找并替换特定的字符串。这在大数据处理中尤为常见,例如在日志分析、文本挖掘或者代码库的更新中。下面,我们将深入探讨批量替换文本的相关...
此外,还有一些专门的代码管理工具,如Git的`git grep`命令,以及自动化脚本语言,如Python的`fileinput`模块或JavaScript的`fs`模块,可以实现更复杂的批量处理。 在网页代码批量替换中,主要涉及HTML、CSS、...
3. **正则表达式(Regular Expression)**:提取电子邮件地址通常需要用到正则表达式,这是一种模式匹配工具,可以识别符合特定规则的字符串。在JavaScript或Python等编程语言中,可以使用内置的正则表达式库来查找...
1. 字符串操作:JavaScript提供了丰富的字符串方法,如split()用于分割字符串,join()将数组元素合并为字符串,replace()进行替换操作,trim()去除两端空白等。这些方法在处理文本数据时非常有用。 2. 正则表达式:...