grep으로 단어를 제외하는 방법
차례:
grep 명령줄 도구는 정의된 문자열, 문자, 단어 또는 정규 표현식과 일치하는 줄 및 스니펫에 대한 텍스트 데이터를 검색하는 데 매우 유용합니다. 대부분의 grep 사용은 구문 일치를 위해 데이터를 정렬하는 데 사용되지만 대신 grep을 사용하여 단어나 문자열을 제외하려면 어떻게 해야 합니까? grep으로 줄 일치 항목을 제외하는 것은 grep에서 일치 항목을 찾아 인쇄하는 것만큼이나 유용하므로 grep으로 문자열 일치 항목을 제외하고 단어를 제외하는 방법을 살펴보겠습니다.
분명히 명령줄 경험이 있고 grep에 대한 노출이 유용하다는 것을 알기를 원할 것입니다. 따라하고 싶다면 터미널 응용 프로그램을 열고 직접 사용해 볼 수 있습니다. grep은 OS에 구애받지 않는 유틸리티이므로 Mac OS, Linux, unix 또는 grep을 사용하는 모든 항목에서 제외 트릭을 사용할 수 있습니다.
grep으로 단일 단어를 제외하는 방법
문자열 또는 구문이 일치하는 행을 제외하는 가장 간단한 방법은 grep 및 -v 플래그를 사용하는 것입니다.
예를 들어 명령줄에서 파일을 인쇄하기 위해 cat을 사용하고 있지만 "ThisWord"라는 용어를 포함하는 모든 줄을 제외하려는 경우 구문은 다음과 같습니다.
cat example.txt | grep -v ThisWord"
출력은 example.txt 텍스트 파일이지만 "ThisWord"와 일치하는 문자열이 포함된 행은 제외됩니다.
파일에 직접 grep을 사용하고 다음과 같이 단어나 구문을 기반으로 줄 일치를 제외할 수도 있습니다.
"grep -v ThisWord>"
특정 작업 흐름에 가장 적합한 것을 사용하십시오.
grep으로 여러 문자열 또는 단어를 제외하는 방법
이제 단일 단어에 대해 일치 항목을 제외하는 방법을 알았으므로 다음으로 분명한 질문은 grep을 사용하여 여러 단어를 제외하는 것입니다. 마찬가지로 간단하며 -v 플래그와 -e 플래그를 사용하여 이를 수행하는 몇 가지 다른 방법이 있습니다.
먼저 grep으로 파이프된 파일에서 cat을 사용하는 위의 예를 취하고 두 단어와 일치하는 행을 제외합니다. "Word1" 및 "Word2"는 다음과 같습니다.
"cat example.txt | grep -v -e Word1 -e Word2"
"Word1" 또는 "Word2"가 포함된 라인은 인쇄 결과에서 제외됩니다.
또한 이전과 마찬가지로 파일에 직접 grep을 사용할 수도 있습니다.
"grep -v -e Word1 -e Word2 example.txt"
또 다른 접근 방식은 다음과 같이 파이프를 사용하여 각 일치 항목을 분리하여 grep으로 제외할 항목을 분리하는 것입니다.
grep -Ev word1|word2 example.txt"
예제 텍스트 파일에서 이러한 옵션 중 하나를 테스트하면 선택한 접근 방식에 관계없이 출력이 동일하다는 것을 알 수 있습니다. 각각 대상 구, 구문, 단어 또는 텍스트 일치.
훌륭합니다. grep으로 데이터를 제외하는 유용한 예를 보여주세요!
고급 Mac 사용자에게 도움이 될 수 있는 실용적인 예를 위해 명령줄 기록을 인쇄하고 쿼리할 때 grep 제외를 사용하여 이전에 실행된 명령을 찾아 기본 일치 항목을 찾을 수 있지만 일부 선택된 기본 문자열은 제외할 수 있습니다. 산출.
여기의 예에서는 기본 문자열 일치에 대한 명령 기록을 인쇄하지만 "com.apple.itunes"에 정의된 대로 iTunes와 관련된 모든 일치 항목은 제외합니다.
"history |grep defaults write |grep -v -e com.apple.itunes"
그래서 따라해 왔다면 "defaults write" 명령의 모든 과거 실행을 보고하지만 iTunes 응용 프로그램과 관련된 것은 제외합니다. 멋지죠?
grep을 사용하여 일치 항목을 제외하는 특히 유용한 방법이 있다면 아래 댓글에서 공유해 주세요! 그리고 이 기사가 마음에 드셨다면 더 많은 것을 배울 수 있는 여기에서 많은 명령줄 기사를 탐색하는 것을 좋아하실 것입니다!