どんなgrep -oh "[*?

どんなgrep -oh "[*?

私は何かを達成しようとしていますが、実験では次のような状況に直面しました。誰かが何が起こっているのかを理解する方法を説明できますか?

echo " Agent process not running on www.raja.server.local.com" | grep -oh "[*?<com]"
o
c
o
o
o
c
c
o
m

ありがとうございます。

答え1

grepのマンページから:

   -o, --only-matching
          Print only the matched (non-empty) parts  of  a  matching  line,
          with each such part on a separate output line.

この場合は-h動作しません。

grep*、、、、にパイプする入力文字列内のすべての文字を検索し、見つかったら?新しい行に各文字を印刷します。<com

$ echo Zcom\?\<\[\*Z
Zcom?<[*Z
$ echo Zcom\?\<\[\*Z | grep -oh "[*?<com]"
c
o
m
?
<
*
$ 

また、を使用すると、grep --color -h "[*?<com]"エコーされた検索文字列で同じ文字が同じ順序で強調表示されることがわかります。

関連情報