무슨 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*, ?, <, 로 파이프하는 입력 문자열에서 모든 문자를 찾고 c, 발견되면 새 줄에 각 문자를 인쇄합니다 o.m

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

또한 을 사용하면 grep --color -h "[*?<com]"에코된 검색 문자열에서 동일한 문자가 동일한 순서로 강조 표시되는 것을 볼 수 있습니다.

관련 정보