カンマで区切られた文字列があり、その行に入力内容を見つけたいのです。
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,JP
入力文字列内で文字列 (パターン) を検索していますUS
が、期待どおりに一致しません。
答え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"
エコの代わりにリストか何かを与えて、実際にパターンを探す場所を「US」で探すのではなく、