如何找出当前目录中不包含单词foo(使用grep)的文件?
当前回答
如果你的grep有-L(或——files-without-match)选项:
$ grep -L "foo" *
其他回答
下面的命令不需要find通过使用第二个grep来过滤svn文件夹。
grep -rL "foo" ./* | grep -v "\.svn"
下面的命令可以帮助你过滤包含子字符串“foo”的行。
cat file | grep -v "foo"
您可以单独使用grep(没有find)来完成。
grep -riL "foo" .
这是对grep上使用的参数的解释
-L, --files-without-match
each file processed.
-R, -r, --recursive
Recursively search subdirectories listed.
-i, --ignore-case
Perform case insensitive matching.
如果你使用l(小写),你将得到相反的(文件匹配)
-l, --files-with-matches
Only the names of files containing selected lines are written
当grep没有-L选项时(例如IBM AIX),只有grep和shell时的另一种选择:
for file in * ; do grep -q 'my_pattern' $file || echo $file ; done
find *20161109* -mtime -2|grep -vwE "(触发器)"
你可以在"find"下指定过滤器,在"grep -vwE"下指定排除字符串。如果你也需要对修改后的时间进行过滤,请在find下使用mtime。
推荐文章
- 如何在Android工作室添加“libs”文件夹?
- 在Python中提取文件路径(目录)的一部分
- Crontab -在目录中运行
- 如何将字典保存到文件?
- 如何上传文件与python请求?
- 如何在bash脚本中检查文件名的扩展名?
- Windows递归grep命令行
- 如何可靠地打开与当前运行脚本在同一目录下的文件
- 我怎么能得到'查找'忽略。svn目录?
- 将列表的Python列表写入csv文件
- Visual Studio单击“查找结果”在错误的窗口中打开代码
- 如何使用Bash创建一个文件夹,如果它还不存在?
- 不能与文件列表一起使用forEach
- python方式检查文件是否存在?
- BAT文件执行后保持CMD打开