linux - Unix,在多个文件中搜索字符串。 (区分大小写,如果字符串在字符串中则接受)

标签 linux bash unix xargs gnu-findutils

我一直在使用这个命令:

find /path~ -type f | xargs grep -iR STRING1

在多个文件中查找字符串,但我想知道如何在多个文件中查找一个字符串,区分大小写,即使该字符串在其他字符串中也是如此。

例如:

我正在搜索:编码器

  • 如果文件包含:abcdEncoder — 应该出现
  • 如果文件包含:abcdencoder — 不应出现
  • 如果文件包含:encoderEncoder — 应该出现

也许这个问题是重复的,但我没有找到它!

最佳答案

删除 -i 开关以使匹配区分大小写。您的命令已经搜索了多个文件并且不关心该字符串是否在另一个字符串中,因此它会为您提供您想要的内容。

另请注意,同时使用 find -type f-R 是多余的:因为 -type f 确保 find 只会打印普通文件供 grep 检查,-R(通过目录递归)选项不会改变任何内容。或者,您可以使用 -R 摆脱 findxargs:grep -R STRING1/path~

关于linux - Unix,在多个文件中搜索字符串。 (区分大小写,如果字符串在字符串中则接受),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24717347/

相关文章:

Linux 上的 Java LoadLibrary 问题

bash - ImageMagick - 透明背景上的 Alpha 蒙版

ruby - 在 Ruby 中使用 Unix 进程控制方法

linux - 如何编写shell脚本查找PID并Kill

linux - Nginx 默认配置目录

php - 我如何告诉 Phing PHPUnit 的安装位置?

linux - cat/dev/ttyUSB - 为什么这行得通,为什么行不通

linux - 在没有 super 用户的情况下重新启动apache

bash - 当 bash 函数具有相同名称时调用程序

c - 为什么 struct stat 中的 st_size 字段是有符号的?