我想找到一种方法来搜索包含给定文本的所有文件。它是文件中的文本,而不是名称中的文本。
有这样的解决方案:
find / -type f -exec grep -H 'текстДляПоиска' {} \;
然而,它工作起来很歪,如何正确地做呢?
我想找到一种方法来搜索包含给定文本的所有文件。它是文件中的文本,而不是名称中的文本。
有这样的解决方案:
find / -type f -exec grep -H 'текстДляПоиска' {} \;
然而,它工作起来很歪,如何正确地做呢?
做这个:
-r或-R- 递归搜索。-n- 输出行号。-w- 只有整个单词。-l(来自 的小写L)- 输出匹配所在的文件名。以下标志将提高效率:
--exclude- 用于排除文件的模式,例如:搜索除扩展名以外的所有文件.o:--include- 仅在某些文件中搜索,例如:仅在扩展名为.h和的文件中搜索.c:--exclude-dir和--include-dir- 相同,仅用于选择目录,例如:排除文件夹один,two以及任何以以下开头的文件夹а:grep这对于这些目的非常有用,您可以通过运行找到其余设置man grep。在形成答案时,问题“如何在 Linux 上找到包含特定文本的所有文件?”的答案。来自@rakib。
您可以使用
grep -ilR:i- 忽略大小写。R- 递归搜索。l- 只显示文件名,而不是整个结果。/root- 从文件系统的根 ( ) 开始搜索。在形成答案时,问题“如何在 Linux 上找到包含特定文本的所有文件?”的答案。来自@fedorqui。