Linux 中区分大小写的搜索

Linux 中区分大小写的搜索

在 Linux 中,我想在目录(也包括子文件夹)中的所有文件中搜索一个单词,并且搜索必须区分大小写。搜索必须给出包含该单词的所有文件名、目录名和行号。

以下操作能否按照我的要求进行搜索?您能解释一下这里的标志和参数吗?

find . -type f | xargs grep -in WORD

答案1

find . -type f -exec grep -Hn WORD {} ";" 
  • xargs与 find 几乎总是一个糟糕的组合,因为 find 有很多 exec 选项 (-exec、-execdir、-ok、-okdir) 来对文件执行命令,而无需屏蔽空格或有问题的字符,例如 * 和 ?。
  • -i 不敏感
  • -n 打印行号
  • -H 在 grep 中打印文件名

答案2

GNU grep 有一个递归选项:

grep -Hn something -r .

相关内容