正規表現とGrepを使用して*エスケープ

正規表現とGrepを使用して*エスケープ

2 つ星 (**) で始まる一意の行を含むファイルがあります。

ただし、grepコマンドを実行すると

grep \*\* fileName 

ファイルのすべての行を取得します。これは非常にまれです。私が見た一致しない行に**は含まれていません。

正しい行を見つけるために**をどのように逃げますか?

ベストアンサー1

grep一致させる文字列が固定文字列であることを示すことで、同じ目的を達成することもできます。これを行うスイッチは-Fまたはです--fixed-strings

-F, --fixed-strings
          Interpret  PATTERN  as  a  list of fixed strings, separated by 
          newlines, any of which is to be matched.  (-F is specified by
          POSIX.)

したがって、次のようにします。

$ grep -F "**" somefile.txt

はい

$ cat somefile.txt
** blah
blahblah
** hi

ファイルを Grep し、次の結果を生成します。

$ grep -F "**" somefile.txt
** blah
** hi

おすすめ記事