Linux - 如何递归搜索所有非二进制(文本)文件中的某个字符串

Linux - 如何递归搜索所有非二进制(文本)文件中的某个字符串

Linux - 如何递归搜索所有非二进制(文本)文件中的某个字符串

  • 在所有文件中搜索字符串
  • 跳过二进制文件
  • 递归地
  • 列出文件名
  • (如果可能的话,回显文件名的行+行号作为选项)

我在看 Bash:将大括号作为参数传递给 bash 函数如何仅在文本文件中搜索字符串? (递归地)

但没有找到答案,只有讨论

答案1

使用 GNU grep,添加以下选项:

  • -F或者--fixed-strings
  • -I或者--binary-files=without-match
  • -r或者--recursive
  • 这是使用时的默认值,但可以使用或-r明确显示-H--with-filename
  • -n或者--line-number

所以

grep -FIrn string .

man grep

相关内容