0

に大文字と小文字が混在する数百のファイル名のリストと~/script-filenames、これらのファイル名を含む可能性がある現在のディレクトリ内の検索対象のテキスト ファイルが数百あります。

現在、次の 2 つのコマンドを使用しています。

  1. 大文字と小文字を区別せずにすべての一致を返すには:

    xargs -0 -I @ -a ~/script-filenames grep -ri @
    
  2. すべての完全一致を返すには:

    xargs -0 -I @ -a ~/script-filenames grep -r @
    

しかし、大文字と小文字を区別しないと一致するが、大文字と小文字が正確な場合に失敗する文字列を見つけるにはどうすればよいでしょうか?

おそらく egrep と regexp を使用する方法がありますが、その方法はわかりません。

4

1 に答える 1

1

問題の簡単な回避策は、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-

差分行の出力には、大文字と小文字が正確でない行のみが含まれます。

于 2013-03-11T13:34:31.380 に答える