grepを使用して文字列に入力が見つかりません


11

私はその行で入力を見つけたい場所でコンマで区切られた文字列を持っています:

echo US | grep "US,CA,CH,JP"

出力は空です!その文字列で自分の入力を見つけるには、grepをどのように使用すればよいですか?

回答:


18

コマンドの引数を交換します。

echo "US,CA,CH,JP" | grep US

に:

echo US | grep "US,CA,CH,JP"

US,CA,CH,JP入力文字列で文字列(パターン)を探していますがUS、これは予想と一致しません。


14

コンマが「or」ステートメントのように機能することを期待していなかった場合を除き、その場合は、コンマをパイプに変更して、拡張正規表現の-Eオプションを使用する必要があります。

echo US | grep -E "US|CA|CH|JP"

または、コンマを改行文字に変更します。

echo US | grep "US
CA
CH
JP"

-1

私は使うだろう $echo US | grep -i "US|CA|JP|CH"

ecoの代わりに、リストまたは何かを与えてください。「米国」でパターンを探すのではなく、実際にパターンを探すことができます。


忘れたよ-E
reinierpost 2016
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.