使用bash在案例不匹配的文本文件中查找字符串

时间:2013-03-11 13:26:28

标签: string bash grep find

我列出了~/script-filenames中数百个混合大小写的文件名,以及当前目录中可能包含这些文件名的数百个要搜索的文本文件。

目前我正在使用以下两个命令:

  1. 无论如何都要返回所有匹配项:

    xargs -0 -I @ -a ~/script-filenames grep -ri @
    
  2. 要返回所有完全匹配:

    xargs -0 -I @ -a ~/script-filenames grep -r @
    
  3. 但是如何在忽略大小写的情况下找到匹配的字符串,但是当大小写完全时会失败?

    也许有一种使用egrep和regexp的方式,但我不知道如何。

1 个答案:

答案 0 :(得分:1)

您的问题的简单解决方法可能是使用off diff:

xargs -0 -I @ -a ~/script-filenames grep -ri @ >hitList.IgnoredCase
xargs -0 -I @ -a ~/script-filenames grep -r @ >hitlist.WithCase

diff -u hitList.IgnoredCase hitlist.WithCase|grep ^+ |cut -c 2-

diff行的输出将只包含具有不精确大小的行。