【发布时间】:2016-07-26 10:21:11
【问题描述】:
我浏览了答案 -
但我仍然面临一些问题,无法在包含“String1”但不包含“String2”的目录中查找所有文件。
我尝试了以下命令,但随着正确的结果,它还返回包含两个字符串的文件 -
grep -Hrn "String1" . | grep -v -Hrn "String2"
请纠正我的错误。
【问题讨论】:
-
从第二个
grep中删除-Hrn:-r将使其在当前目录中递归搜索(基本上忽略您以前的grep),-H将使其显示文件名(如果它从标准输入获取输入,它就无法做到这一点),并且-n将使其显示行号(这在您的第一个grep的输出中会有所不同)。第一个grep是正确的,会得到正确的文件名和行号,但第二个grep不是。
标签: linux string macos terminal grep