-wオプションを使用して2つの方法をどのようにgrepできますか?

-wオプションを使用して2つの方法をどのようにgrepできますか?

JSON配列内の2つの項目の値を取得するために使用したいファイルgrepfoo値からデータを取得しようとしていますが、bar問題は値もbar一致するため、megabaroptionでgrepする必要があることです-w。値を注文する
必要があるため、両方を見つけようとすると問題が発生します。grepまたはもう一つ。
~からこれ問題は私が探しているものに近づきましたが、結果は次のとおりです。

grep -E '(foo|-w bar)' file
 "foo": "59766",
 "foo": "59770",
 "foo": "59774",
 "foo": "59778",
 "foo": "59782",
 "foo": "59786",

これを行う方法についてのアイデアはありますか?

ベストアンサー1

これ単語の境界と同様の効果がありますが、-w式の一部として使用できます。

'\b' は、
単語の端の空の文字列と一致します。
[...]
'\<' は
単語の先頭の空の文字列と一致します。
'\>' は
単語の末尾の空の文字列と一致します。

bar完全な単語の場合にのみ一致しますが、fooどこでも一致します(長い単語内を含む)。

grep -E 'foo|\<bar\>'

おすすめ記事