• ベストアンサー

UNIXコマンドのパターンマッチング(grep)について

*または?(ワイルドカード)のマッチングはできないでしょうか? 例)12345*AB*678 先頭、後部でのマッチングは↓で可能でしたがここで行き詰ってしまいました。 ^grep "12345*" file名 | grep -e "*678" UNIXコマンドを使ってのよい方法があったらご教授ください。 どうぞ宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • talepanda
  • ベストアンサー率58% (45/77)
回答No.1

grep -e "12345.*AB.*678" 正規表現を使いましょう。

ruru-kei
質問者

お礼

早急のご返事ありがとうございます。 思っていた通りに出来ました! ずっと悩んでいたのでとても助かりました。

その他の回答 (2)

回答No.3

"5*"は0個以上の"5"の繰り返しにマッチします。 "*"で始まることはありません。 正規表現のルール上の意味を持つ文字を文字として扱うには必ず直前に\(かなキーボードでない場合はバックスラッシュ)をつける必要があります。

ruru-kei
質問者

お礼

回答ありがとうございました。 grepの*の扱いを勘違いしておりました・・・ ご教授のお陰で*の扱いがわかりました。 ありがとうございました。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

多分, パターンに \* があれば * にマッチするはず. もちろんパターンを書くときに "..." でくくるならこの \* の \ もエスケープしなきゃならんので \\* という形になる.

ruru-kei
質問者

お礼

回答ありがとうございました。 grepの*の扱いを勘違いしておりました・・・ ご教授のお陰で*の扱いがわかりました。 ありがとうございました。

関連するQ&A