beachという言葉を見つけなければなりません。この単語がbで始まりchを含めるように指定するにはどうすればよいですか?私はgrep '^s.*ch'を使ってみましたが、それを含む行を印刷しましたが、私は単に単語が欲しかったです。
ベストアンサー1
問題は、.*
スペースを含むすべての文字シーケンス(改行文字を省略可能)を一致させることです。
したがって、単語を構成する文字のみを一致させるように変更したいと思います。これを行う正確な方法は、使用する正規表現の実装と他のアルファベットの文字を記述するかどうかによって異なります。合理的に移植可能なアプローチは、以下を使用することです。[[:alpha:]]*
単語の先頭で一致する構文も実装によって異なります。 grepの場合\<
。
-o
単語を取得するのに役立つ2つのgrepオプションがあります--color
。前者は一致するものだけを出力し、後者は行全体を出力し、一致するものを強調表示します。
だからあなたは欲しいかもしれません
grep -o '\<b[[:alpha:]]*ch' filename