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

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

カンマで区切られた文字列がありますが、その行で入力内容を検索したいと思います。

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

出力が空です!この文字列で入力を見つけるには、grepをどのように使用する必要がありますか?

答え1

コマンドのパラメータを置き換えます。

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

存在する:

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

US,CA,CH,JPUS入力文字列で予想されるものと一致しない文字列(パターン)を探しています。

答え2

カンマが「または」ステートメントとして機能すると予想されない限り、この場合はカンマをパイプに変更して-Eオプションを使用できます。拡大する一般的な表現:

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

または、カンマを改行文字に変更してください。

echo US | grep "US
CA
CH
JP"

答え3

私は使用します$echo US | grep -i "US|CA|JP|CH"

エコがリストなどを提供するのではなく、実際にパターンを探して「アメリカ」では見つからないかもしれません。

関連情報