grep이 자체적으로 반환되는 것을 막는 방법

grep이 자체적으로 반환되는 것을 막는 방법
# ps -ef | grep gre
root     15067 63614  0 11:03 pts/0    00:00:00 grep --color=auto gre

다른 예시

# ps -ef | grep sshd
root      1186     1  0 Jul26 ?        00:00:00 /usr/sbin/sshd -D
root     15439 63614  0 11:05 pts/0    00:00:00 grep --color=auto sshd

grep 명령이 자동으로 발견되어 필드로 반환되지 않도록 하려면 어떻게 해야 합니까?

답변1

이 작업 에는 더 나은 접근 방식이 사용됩니다 pgrep. 요즘 대부분의 시스템에서 사용할 수 있는 것 같습니다.

답변2

다소 진부하고 어색한 방법이 많이 있습니다. 내가 가장 좋아하는 것은 검색 문자열의 문자 앞에 이중 백슬래시를 삽입하는 것입니다.

ps -ef | grep ss\\hd

\\는 쉘에서 \로 해석되고, \h는 grep에서 'h'와 동일하게 해석됩니다. 따라서 이전과 마찬가지로 "sshd"를 효과적으로 검색합니다. 그러나 자체 명령 문자열에는 더 이상 "sshd"가 포함되지 않고 "ss\hd"가 포함되어 있으므로 자체적으로 일치하지 않습니다.

답변3

리터럴 텍스트와 일치하지 않는 정규식이 되도록 패턴을 변경합니다.

    ps -ef | grep [s]shd

답변4

당신에게 필요한 것은ps -e | grep sshd

( ps -ef프로세스와 해당 매개변수를 나열하고 ps -e프로세스만 나열합니다.)

관련 정보