답변:
패턴 일치 반전 옵션 -v에 대한이 grep이 정말 도움이 될 것입니다 :
grep -v 'UFW BLOCK' /var/log/syslog
포함하지 않은 모든 줄이 표시됩니다 UFW BLOCK. 마찬가지로 grep기본적으로 사용하는 기본 정규 표현식, 브라켓의 포함은이 공간을 포함하는 'UFW BLOCK'의 개별 문자의 검색하게됩니다. 아마 출력이 없을 것입니다. 문자열 주위에 대괄호가 있는지 확인 해야하는 경우, 대괄호를 피 \[UFW BLOCK\]하거나 고정 문자열 만 포함 하는 -F옵션을 사용하십시오 grep( 이에 대한 조언은 Zanna 와 Steeldriver 에게 감사드립니다 ).
grep -Fv '[UFW BLOCK]' /var/log/syslog
출력을 다음과 같은 호출기로 파이프하여보다 쉽게 볼 수 있습니다 less.
grep -v 'UFW BLOCK' /var/log/syslog | less
또는 나중에 볼 수 있도록 출력을 홈 디렉토리의 파일로 리디렉션하십시오.
grep -v 'UFW BLOCK' /var/log/syslog > ~/filtered_syslog
fgrep해당 하는 명령을 사용할 수도 있습니다 grep -F.
편집 기능이있는 도구를 사용할 수 있습니다. 이미 사용 솔루션을 제공했습니다 grep과 sed, 여기에 몇 가지 다른 선택이다. 이러한 프로그램은 모두 쉽게에 파이프 할 수있다 less거나 more또는 다른 것.
펄
perl -ne 'print unless /\[UFW BLOCK\]/' /var/log/syslog
이것이 Perl이기 때문에 TIMTOWDI! .
perl -pe '$_="" if /\[UFW BLOCK\]/' /var/log/syslog
perl -ne '/\[UFW BLOCK\]/ || print' /var/log/syslog
perl -ne 'print if !/\[UFW BLOCK\]/' /var/log/syslog
perl -ne '!/\[UFW BLOCK\]/ && print' /var/log/syslog
perl -ne '/\[UFW BLOCK\]/ ? "" : print' /var/log/syslog
어 wk
awk '!/\[UFW BLOCK\]/' file
당신도 사용할 수 있습니다 awk:
awk '!/PATTERN/' log
하나 이상의 "패턴"을 가지고 있고 다음과 grep같이 두 가지를 사용하고 싶지 않을 때 사용합니다 .
... | grep -v foo | grep -v bar
구문은 다음과 같습니다.
awk '!/PATTERN/ && !/PATTERN2/' log
grep -Ev "foo|bar"?
-e여러 패턴을 정의하는 데 사용할 수도 있습니다 . grep -v -e 'foo' -e 'bar'
less정규 표현식 패턴 후에 표시된 행을 필터링 할 수있는 가능성을 제공하는 것이 좋습니다.&패턴 다음 에 입력하여이 기능을 사용할 수 있으며 ,&혼자 입력하여 되돌릴 수 있습니다 .