如何递归查看包含一个字符串但具体没有另一个字符串的文件列表?另外,我的意思是评估文件的文本,而不是文件名。
结论:
根据评论,我最终使用了:
find . -name "*.html" -exec grep -lR 'base\-maps' {} \; | xargs grep -L 'base\-maps\-bot'
这返回了带有“base-maps”而不是“base-maps-bot”的文件。谢谢!!
最佳答案
试试这个:
grep -rl <string-to-match> | xargs grep -L <string-not-to-match>
解释:grep -lr
使 grep 递归 (r) 输出包含 <string-to-match>
的所有文件的列表 (l) . xargs 循环遍历这些文件,调用 grep -L
在他们每个人身上。 grep -L
仅当文件不包含 <string-not-to-match>
时才会输出文件名.
https://stackoverflow.com/questions/4989519/