- ベストアンサー
UNIXコマンドのパターンマッチング(grep)について
*または?(ワイルドカード)のマッチングはできないでしょうか? 例)12345*AB*678 先頭、後部でのマッチングは↓で可能でしたがここで行き詰ってしまいました。 ^grep "12345*" file名 | grep -e "*678" UNIXコマンドを使ってのよい方法があったらご教授ください。 どうぞ宜しくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
grep -e "12345.*AB.*678" 正規表現を使いましょう。
その他の回答 (2)
- saaya_holic
- ベストアンサー率23% (46/195)
回答No.3
"5*"は0個以上の"5"の繰り返しにマッチします。 "*"で始まることはありません。 正規表現のルール上の意味を持つ文字を文字として扱うには必ず直前に\(かなキーボードでない場合はバックスラッシュ)をつける必要があります。
質問者
お礼
回答ありがとうございました。 grepの*の扱いを勘違いしておりました・・・ ご教授のお陰で*の扱いがわかりました。 ありがとうございました。
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.2
多分, パターンに \* があれば * にマッチするはず. もちろんパターンを書くときに "..." でくくるならこの \* の \ もエスケープしなきゃならんので \\* という形になる.
質問者
お礼
回答ありがとうございました。 grepの*の扱いを勘違いしておりました・・・ ご教授のお陰で*の扱いがわかりました。 ありがとうございました。
お礼
早急のご返事ありがとうございます。 思っていた通りに出来ました! ずっと悩んでいたのでとても助かりました。