次のパターンに一致する文字列のリストを取得したいと思います。
CLASS_NAME:"*"
これは*
任意の数の文字を表します。
私は試した:
grep -o CLASS_NAME:\".*\" script.js
そして
grep -o CLASS_NAME:\"*\" script.js
最初のケースは一致する文字列の後の行全体を返し、2番目のケースは最初のケースで終了します"
。一致する文字列のみを返すにはどうすればよいですか?
ベストアンサー1
さて、問題は、正規表現が本質的に貪欲であるため、1行に必要なものよりも引用符が多いことです。可能であれば、常にできるだけ一致します。
したがって、解決策は、2つの二重引用符の間でのみ一致することを確認することです。
grep -o 'CLASS_NAME:"[^"]*"' script.js