[regex] grep 표현을 뒤집는 방법

다음 grep 표현식은 현재 디렉토리 및 서브 디렉토리의 모든 .exe 및 .html 파일을 나열합니다.

ls -R |grep -E .*[\.exe]$\|.*[\.html]$  

이 결과를 뒤집어 .html 또는 .exe가 아닌 결과를 어떻게 표시합니까? (그렇습니다 !=.)



답변

사용 명령 줄 옵션 -v이나 --invert-match,

ls -R |grep -v -E .*[\.exe]$\|.*[\.html]$


답변

grep -v

또는

grep --invert-match

다음을 사용하여 동일한 작업을 수행 할 수도 있습니다 find.

find . -type f \( -iname "*" ! -iname ".exe" ! -iname ".html"\)

자세한 내용은 여기를 참조하십시오 .


답변

결과를 반전 시키 -v려면 grep명령에 옵션을 추가하십시오 .


답변

 grep "subscription" | grep -v "spec"  


답변

여러 번 언급했듯이 반전 -v옵션 은 옵션으로 수행됩니다 grep. grep도움말 텍스트를 통해 스스로 알아낼 수 있다는 (유쾌하게) 참고 사항을 추가하겠습니다 .

grep --help | grep invert

-v, –invert-match 비 일치 행 선택


답변