如何在Linux上查找所有包含特定文本的文件?

如何在Linux上查找所有包含特定文本的文件?,第1张

如何在Linux上查找所有包含特定文本的文件

请执行下列 *** 作:

grep -rnw '/path/to/somewhere/' -e 'pattern'
  • -r
    还是
    -R
    递归的
  • -n
    是行号,并且
  • -w
    代表匹配整个单词。
  • -l
    可以添加(小写的L)以仅给出匹配文件的文件名。

除了这些,

--exclude
--include
--exclude-dir
标志可用于高效搜索:

  • 这只会搜索扩展名为.c或.h的文件:

    grep --include=*.{c,h} -rnw '/path/to/somewhere/' -e "pattern"
  • 这将排除搜索以.o扩展名结尾的所有文件:

    grep --exclude=*.o -rnw '/path/to/somewhere/' -e "pattern"
  • 对于目录,可以通过

    --exclude-dir
    参数排除特定目录。例如,这将排除dirs dir1 /,dir2 /及其全部与* .dst /匹配的目录:

    grep --exclude-dir={dir1,dir2,*.dst} -rnw '/path/to/somewhere/' -e "pattern"

这对我来说非常有效,可以达到与您几乎相同的目的。

有关更多选项,请检查

man grep



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5015026.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存