どのファイルに文字列があるのか知りたいです$Id$
。
grep \$Id\$ my_dir/mylist_of_files
0回を返します。
私は使用しなければならないことを発見しました
grep \$Id$ my_dir/mylist_of_files
次に$Id
、出力でが色付けされていることがわかります。つまり、一致しています。
どうやって2つ目を一致させることができ$
、なぜ機能しないの\$Id\$
ですか
2番目$
が最後の文字であるかどうかは関係ありません。
grep
2.9 を使用します。
質問を投稿する前に、Googleを使用しました...
test2という名前のファイルで$(ドル記号)を検索するには、次のように入力します。
grep \\ $ test2
\\(二重バックスラッシュ)文字は、シェルに強制的に\ $(単一のバックスラッシュ、ドル記号)をgrepコマンドに渡すために必要です。\(単一のバックスラッシュ)文字は、次の文字(この例では$)を式文字ではなくリテラル文字として扱うようにgrepコマンドに指示します。バックスラッシュなどのエスケープ文字を使用する必要性を回避するには、fgrepコマンドを使用します。
しかし、なぜgrep \$Id
機能するのか、なぜgrep \\$Id\\$
機能しないのかはわかりません。
私は少し混乱しています...
grep -F '$Id$'
。