grep:単語の終わりの区切り文字は機能しませんか?

grep:単語の終わりの区切り文字は機能しませんか?

以下の試みで単語の終わりの区切り文字が認識されないのはなぜ(e)grepですかegrep? (b)?

$ echo -n "my-pc is beautiful" | egrep  'my-pc\b'
my-pc is beautiful
/home/pkaramol
$ echo -n "my-pc-vol2 is beautiful" | egrep  'my-pc\b'
my-pc-vol2 is beautiful

正常な結果と同じですかgrep

ベストアンサー1

よく認識しているがオプションを使用しない限り、一致する行全体をgrep印刷します。egrep-o

-o、--matchのみ

行の一致部分のみを印刷します。

私の考えでは、あなたが望むもの:

$ echo -n "my-pc is beautiful" | egrep -o 'my-pc\b'
my-pc

単語の境界は単語ではなく文字です。単語の文字は次のとおりです[a-zA-Z0-9_]。したがって、-単語文字ではありません。

おすすめ記事