1
たとえば、fooで始まりbarで終わる行はどうすればよいでしょうか?指定された文字列で始まり、別の指定された文字列で終わる行をgrepする方法はありますか?
例ライン:
foo12345abar
fooabcdbar
fooy7ghqqbar
これが正しい正規表現とは何
grep '^foo[.]*bar$'
を動作するようには思えないのですか?
たとえば、fooで始まりbarで終わる行はどうすればよいでしょうか?指定された文字列で始まり、別の指定された文字列で終わる行をgrepする方法はありますか?
例ライン:
foo12345abar
fooabcdbar
fooy7ghqqbar
これが正しい正規表現とは何
grep '^foo[.]*bar$'
を動作するようには思えないのですか?
式が機能しないのは、[.]
が文字通りドットを表すためです。それは角括弧にドットメタ文字の周り[]
を削除動作させるために
foo.......bar
foo...bar
boobar
:あなたの式は次のようになり、文字列にマッチします
^foo.*bar$
^foo.*?bar$
ここにあります働いてDEMO。
2つのgreps(パイプを使用)で試してみましょう。 'cat file | grep "^ foo" | grep "bar $" ' – Dominique