grep -v "grep"줄 단위로 입력을 받고 grep나타나지 않는 줄만 출력합니다 . 이 없다면 -v, 그것은 만 출력 라인은있는 것 grep 않습니다 나타납니다. 자세한 내용 man grep을 참조하십시오.
마찬가지로 지금까지 같은 grep유틸리티가 자체 우려, 패턴 그것의 중요하지 않은 것을 grep인자로 전달은 이름과 동일합니다. 그러나 grep -v grep실제로 나타나는 대부분의 경우 우연의 일치가 아닙니다.
grep -v grep(또는 grep -v 'grep'또는 grep -v "grep")은 종종 왼쪽이 명령 인 파이프 의 오른쪽에 나타납니다 ps. 그것은 당신이 그것을 본 곳일 것입니다. 예를 들어, 이름, 경로 또는 명령 줄 인수가 Xfce와 관련이 있다고 제안하는 프로그램을 실행하려고 할 수 있습니다.
ek@Io:~$ ps x | grep xfce
2955 ? Ssl 0:10 xfce4-power-manager
2958 ? S 0:00 /usr/lib/x86_64-linux-gnu/xfce4/xfconf/xfconfd
31901 pts/1 S+ 0:00 grep --color=auto xfce
내 grep명령이 출력에 표시되었지만 내가 찾고있는 것이 아닙니다. 실행중인 것을 조사 하려는 노력 때문에 실행중인 프로세스가 아니라 실행중인 것을 조사 할 때 이미 실행중인 프로세스에 대한 정보를 찾고 있습니다.
이 방해 요소를 제거하는 일반적인 방법 중 하나는 다음에 다른 파이프를 추가 하는 것입니다 grep -v grep.
ek@Io:~$ ps x | grep xfce | grep -v grep
2955 ? Ssl 0:10 xfce4-power-manager
2958 ? S 0:00 /usr/lib/x86_64-linux-gnu/xfce4/xfconf/xfconfd
grepwithout -F는 패턴을 고정 문자열이 아닌 정규식 으로 취급 합니다 . 따라서 또 다른 방법은 정확히 일치 xfce하지만 다르게 작성된 정규식을 작성하는 것입니다. 예를 들면 다음과 같습니다.
ek@Io:~$ ps x | grep '[x]fce'
2955 ? Ssl 0:10 xfce4-power-manager
2958 ? S 0:00 /usr/lib/x86_64-linux-gnu/xfce4/xfconf/xfconfd
문자 와 정확히 일치 [x]하는 문자 클래스 이기 때문에 작동합니다 x.
이러한 인기있는 방법 중 하나의 단점은 방금 실행 grep한 grep명령 이 아닌 경우에도 포함 된 행을 필터링한다는 것입니다. 그들은 심지어하지 않을 수 있습니다 grep누구의 이름, 경로, 또는 명령 줄 인수 단지 명령 - 명령을 포함 grep . 그래서,로 세르지 Kolodyazhnyy는 지적 밖으로 가지고 자주도 그 방법 중, (도의 출력을 파이프와 관련된 다른 접근 방식 ps)으로, 정말 적합하며 닉 하틀리 언급 , 다른 방법이 자주 사용 pgrep. 예를 들면 다음과 같습니다.
ek@Io:~$ pgrep -af xfce
2955 xfce4-power-manager
2958 /usr/lib/x86_64-linux-gnu/xfce4/xfconf/xfconfd
-a 전체 명령 행을 보여줍니다 . 프로세스 ID 번호 만 표시하려면 생략하십시오.
-f 전체 명령 줄에서 검색 합니다. 이름 만 검색하려면 생략하십시오.
man grep명령에 대한 참조 매뉴얼 페이지를 읽거나 수행 할 수있는 특정 명령 (grep 포함)에 대한 자세한 내용을 볼 수 있습니다info grep. 시스템에는 종종 매우 유용한 문서가 있습니다.