我一直在使用这个命令:
find /path~ -type f | xargs grep -iR STRING1
在多个文件中查找字符串,但我想知道如何在多个文件中查找一个字符串,区分大小写,即使该字符串在其他字符串中也是如此。
例如:
我正在搜索:编码器
- 如果文件包含:
abcdEncoder
— 应该出现 - 如果文件包含:
abcdencoder
— 不应出现 - 如果文件包含:
encoderEncoder
— 应该出现
也许这个问题是重复的,但我没有找到它!
最佳答案
删除 -i
开关以使匹配区分大小写。您的命令已经搜索了多个文件并且不关心该字符串是否在另一个字符串中,因此它会为您提供您想要的内容。
另请注意,同时使用 find -type f
和 -R
是多余的:因为 -type f
确保 find
只会打印普通文件供 grep
检查,-R
(通过目录递归)选项不会改变任何内容。或者,您可以使用 -R
摆脱 find
和 xargs
:grep -R STRING1/path~
关于linux - Unix,在多个文件中搜索字符串。 (区分大小写,如果字符串在字符串中则接受),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24717347/