我想构建一个小型的python脚本,它基本上与grep相反。 我想匹配没有“searled_string”的目录/子目录中的文件。python grep反向匹配
到目前为止,我做到了这一点:
import os
filefilter = ['java','.jsp']
path= "/home/patate/code/project"
for path, subdirs, files in os.walk(path):
for name in files:
if name[-4:] in filefilter :
print os.path.join(path, name)
这个小脚本将与“Java”的或每个子目录里面的“JSP”扩展,并且将它们输出全通路上市everyfiles。
我现在想知道如何做剩下的事情,例如我希望能够在一个文件中忘记会话管理条目(允许任何人直接访问文件)搜索: “if( !user.hasPermission”,并列出不包含此字符串的文件。
任何帮助将不胜感激!
感谢
你可能想看看-l,-L,和grep -v的选项。 -v反转匹配(即打印行不符合模式)。 -l列出包含与该模式匹配的行的文件,-L列出不包含该模式的文件。 – jkasnicki 2010-05-26 04:47:10
查看os.path.splitext处理文件扩展名。 (http://docs.python.org/library/os.path.html#os.path.splitext) – gimel 2010-05-26 04:52:02