【发布时间】:2015-12-17 01:36:35
【问题描述】:
我正在使用以下命令在我的 linux 机器中的所有文件中查找一个单词。但现在我想排除 1 个目录,然后继续搜索剩余的目录。
find /opt -type f -exec grep -l "Texttosearch" {} \;
请多多指教。 tq
【问题讨论】:
我正在使用以下命令在我的 linux 机器中的所有文件中查找一个单词。但现在我想排除 1 个目录,然后继续搜索剩余的目录。
find /opt -type f -exec grep -l "Texttosearch" {} \;
请多多指教。 tq
【问题讨论】:
您不能忽略所有目录中的初始搜索,但您可以在第一步之后从指定目录中删除文件。
find . -type f -exec grep -l "port" {} \;| grep -v <dir_name_to exclude>
【讨论】:
我是正则表达式的菜鸟,但我一直在关注here 的教程,它说 ^ 插入符号通常标记字符串的开头,但也有不同的含义,例如逻辑 NOT 或 !=
插入符号在正则表达式中实际上可以有两种不同的含义。大多数情况下,这意味着匹配行开头的零长度模式。但是如果在字符类的开头使用它,就会颠倒字符类的含义。未包含在列出的字符集中的所有内容都匹配。
/[^a-z]a/
Mary 有一只小羊羔。 到处都是Mary 去了,小羊肯定 去。
正如结果显示,小写配对“la”来自lamb 没有被拾取,但大写M 来自Mary(连同a 所以“Ma”)被拾取。本教程的作者将插入符号称为“恭维”运算符。
也许您可以尝试将它与 grep 一起使用?
这里有 grep 使用的解释 --> Regular Expressions in Grep Command with 10 Examples ... 它显示了它的用法并解释了它
示例 10. 字符类中的异常 如果要搜索除方括号中的字符以外的所有字符,则使用 ^(插入符号)作为左方括号后的第一个字符。以下示例在 linux 中从字典单词文件中搜索不以元音字母开头的行。
【讨论】: