[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 비 일치 행 선택