我使用下面的命令在我的linux框中的所有文件中查找单词。但现在我想要排除1个目录,搜索应继续进行剩下的目录。
find /opt -type f -exec grep -l "Texttosearch" {} \;
请咨询。 TQ
答案 0 :(得分:0)
您不能忽略所有目录中的初始搜索,但您可以在第一步之后从指定目录中删除文件。
find . -type f -exec grep -l "port" {} \;| grep -v <dir_name_to exclude>
答案 1 :(得分:0)
我是正则表达式的菜鸟,但我一直在关注教程here,它说^插入符号通常标记字符串的开头但具有不同的含义,这就像逻辑NOT或! =
插入符号在正则表达式中实际上可以有两种不同的含义。大多数情况下,它意味着匹配行开头的零长度模式。但是如果在字符类的开头使用它,它会颠倒字符类的含义。列出的字符集中未包含的所有内容都匹配。
/[^a-z]a/
Ma ry有 a 小羊羔。 而 Ma ry的每个地方 羔羊确定了 去吧。
结果显示,羊羔的小写配对“la”没有被拾取,但是拾取了玛丽的大写字母M(以及a所以“Ma”)。本教程的作者将插入符号称为“赞美”操作符。
也许您可以尝试将它与grep一起使用?
这里有一个在grep中使用的解释 - &gt; Regular Expressions in Grep Command with 10 Examples ...显示了它的用法并因此解释了
示例10.字符类中的异常 如果要搜索除方括号中的字符以外的所有字符,请使用^(插入符号)符号作为打开方括号后的第一个字符。以下示例搜索一行不以linux中字典word文件中的元音字母开头。