답변:
패턴 일치 반전 옵션 -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
정규 표현식 패턴 후에 표시된 행을 필터링 할 수있는 가능성을 제공하는 것이 좋습니다.&
패턴 다음 에 입력하여이 기능을 사용할 수 있으며 ,&
혼자 입력하여 되돌릴 수 있습니다 .