複数の項目で埋められたテキストファイルから次のパターンの文字列を検索するには:
entry=G_1234
entry=G_5678
entry=G_2345
次のgrep文は結果を提供しません。
grep -ioe "entry=G_{1234,2345}" filename
エラーがどこにあるのか、grepでパラメータ拡張が不可能なのかを教えてください。
答え1
誰でも:
grep -iEo 'entry=G_(1234|2345)'
つまり、E
正規表現の拡張()交互演算子を使用します。
または、中かっこ拡張をサポートするシェルの場合は、次のようにします。
grep -io '-eentry=G_'{1234,2345}
その後、シェルはそれを次に展開します。
grep -io -eentry=G_1234 -eentry=G_2345
grepにこれらの2つのうちの1つを見つけさせます。金利表現する。
答え2
Grepはシェルパターンではなく正規表現を使用します。正規表現にはさまざまな構文があります。
grep -ioe 'entry=G_\(1234\|2345\)' filename