GNU/Linux >> Linux の 問題 >  >> Linux

Grep-o-wでMacOsXで期待される出力が得られないのはなぜですか?

echo foo bar baz | grep -o -w baz 出力はfoo bar baz (および追加の改行)。
期待される出力はbazになります。 -oオプションでは、一致した部分のみが表示されるためです。
Mac OS X 10.7.1を使用しており、grepのバージョンはgrep (GNU grep) 2.5.1です。

承認された回答:

grepを使用することによる回避策があります 単語の最初と最後の空の文字列を照合するための正規表現構文!

# grep regex syntax for matching words only
man grep | less -p '\<'

# POSIX 1003.2 regular expression syntax for matching words only
# should work for sed, ed, ...
man re_format | less -p '\[\[:<:\]\]'

echo 'foo bar baz' | egrep -o '\<baz\>'

echo 'foo bar baz' | sed -n '/.*[[:<:]]\(baz\)[[:>:]].*/s//\1/p'

grepの使用を主張する場合 の-w フラグを立てて、プリコンパイルされたRudix 2010 grepを試してください バイナリ(grep-2.5.4-1.dmg)。

http://rudix.org/packages-ghi.html#grep


Linux
  1. 子プロセスのPgidが親のPidではないのはなぜですか?

  2. 「猫」の出力で単語を強調表示する方法は??

  3. `md5sum`がインターネットと同じハッシュを与えないのはなぜですか?

  1. Stdoutに出力し、同時にGrepをファイルに出力しますか?

  2. なぜBashはスペースで始まるコマンドを保存しないのですか?

  3. トップコマンドの出力をLinuxのファイルにキャプチャする方法は?

  1. Linux カーネルの pr_debug が何も出力しないのはなぜですか?

  2. ps aux の出力を見る | tmux の grep blah は機能しませんか?

  3. openssl passwd の出力が毎回異なるのはなぜですか?