Linux에서 Grep 명령을 사용하는 방법

파일 내용을 쉽게 필터링하고 표시하기 위한 실제 예제와 함께 grep 명령 이해

그렙 'Global Regular Expression Print'의 약자입니다. Linux에서 제공하는 유용한 명령줄 유틸리티로 사용자가 제공한 패턴과 일치하는 텍스트 줄을 검색합니다.

그렙 사용자가 특정 파일에서 검색하고자 하는 문자열이나 단어의 형태로 사용자로부터 입력을 받습니다. 그런 다음 명령은 이 패턴에 대해 사용자가 지정한 파일을 확인한 다음 제공된 패턴과 일치하는 행을 반환합니다.

파일의 내용을 필터링하여 단일 또는 여러 파일의 특정 내용을 동시에 검색하는 작업을 더 쉽게 만듭니다.

이 기사에서는 기능을 검토해 보겠습니다. 그렙 몇 가지 실용적인 예와 함께 명령을 자세히 설명합니다.

사용 가능한 옵션 그렙 명령

다음은 자주 사용하게 될 몇 가지 기본 옵션입니다. 그렙 명령.

옵션설명
-나대소문자를 구분하지 않는 검색의 경우
-아르 자형지정된 디렉토리와 그 하위 디렉토리에 있는 모든 파일을 재귀적으로 검색하려면
-씨문자열이 나타나는 총 횟수를 표시하려면
-V일치하지 않는 라인을 표시하려면
-w별도로 사용되는 특정 단어에 대한 필터

사용 그렙 명령

그렙 명령은 일반적으로 파이프(|) 공익 사업. 다른 Linux 명령과 함께 사용하려는 경우 셸 파이프로 구현할 수 있습니다. 하지만, 그렙 파이프 없이 개별적으로 사용할 수도 있습니다(|) 공익 사업.

몇 가지 기본 구문을 살펴보겠습니다. 그렙 파이프 유틸리티가 있거나 없는 명령.

먼저 설명에 사용할 샘플 텍스트 파일을 보여 드리겠습니다. 그렙 명령.

인도는 평화를 사랑하는 사람들의 아름다운 나라입니다. 인도는 입법부, 행정부, 사법부의 세 기둥 위에 서 있습니다. 인도는 평화를 사랑하는 사람들의 아름다운 나라입니다. 인도는 모든 데카르트 좌표의 중요성을 나타내는 리소스 직교 좌표로 사람들을 돌봅니다. 다음은 두 개의 빈 줄입니다. 황소 카트를 사용하는 것은 농촌에서 집안일을 하기 위해 마을에서 흔히 볼 수 있는 일입니다. 이것이 샘플 파일의 끝입니다.

그렙 파이프( | )와 함께 사용공익 사업

그렙 명령은 쉘 파이프를 사용하여 다른 Linux 명령과 함께 구현할 수 있습니다. 를 사용하여 고양이 파일의 내용을 표시하는 동시에 다음을 사용하여 출력을 파이핑하는 명령 그렙 보고 싶은 콘텐츠만 표시하는 명령입니다. 이것은 예제를 통해 더 명확해질 것입니다.

통사론:

[명령] | grep [문자열]

예시:

고양이 sample.txt | 그렙 입법부

여기에서 내가 사용한 고양이 명령을 사용하여 'sample.txt' 파일의 일부 줄을 표시합니다. '입법부'라는 단어가 포함된 행만 표시되고 나머지 행은 무시됩니다.

산출:

gaurav@ubuntu:~/workspace$ 고양이 sample.txt | grep 입법부 인도는 입법부, 행정부 및 사법부의 세 기둥에 서 있습니다. gaurav@ubuntu:~/workspace$

그렙 파이프 없이 사용( | )공익 사업

그렙 파이프를 사용하지 않고 개별 명령으로 직접 사용할 수도 있습니다( | ) 공익 사업.

통사론:

grep [string_to_be_searched] [파일 이름]

예시:

grep 인도 sample.txt

산출:

인도는 평화를 사랑하는 사람들의 아름다운 나라입니다. 인도는 사람을 자원으로 생각합니다

따라서, 나는 사용 그렙 명령을 사용하여 텍스트 파일 'sample.txt'에서 'India' 문자열이 포함된 줄을 직접 필터링합니다.

다음을 사용하여 대소문자를 구분하지 않는 검색 그렙 명령

Linux는 터미널에서 명령을 실행할 때 대소문자 구분에 대해 매우 신중합니다. 이를 위해서는 사용자가 명령에 입력한 문자열의 대소문자에 주의해야 합니다.

이를 예를 통해 살펴보자.

grep 평화 sample.txt

이 경우 샘플 파일에 'peace'라는 단어가 없기 때문에 출력이 되지 않습니다. 대문자 'P'가 붙은 'Peace'라는 단어가 있습니다. 단어는 같지만 사용할 때 그렙 옵션 없이 명령을 실행하면 대소문자 변경을 무시하고 파일에서 정확히 일치하는 항목을 검색합니다.

이 모호성을 피하기 위해 간단히 다음을 사용할 수 있습니다. -나 문자 그대로 알려주는 옵션 그렙 명령 "내가 문자열을 넣은 경우는 잊어버리고 파일에서 일치하는 모든 패턴을 검색하십시오."

통사론:

grep -i [문자열] [파일 이름]

예시:

grep -i 평화 sample.txt

산출:

인도는 평화를 사랑하는 사람들의 아름다운 나라입니다. 인도는 평화를 사랑하는 사람들의 아름다운 나라입니다.

일치하는 문자열의 경우에 관계없이 모든 일치하는 행이 표시됩니다.

다음을 사용하는 재귀 검색 그렙 명령

그만큼 -아르 자형 옵션은 디렉토리의 모든 파일과 명령에서 사용자가 제공한 문자열 패턴과 일치하는 모든 하위 디렉토리를 검색합니다.

통사론:

grep -i -r [문자열] [파일 경로]

예시:

grep -i -r 바람둥이 /home/gaurav/workspace

여기서 문자열은 'tomcat'이며 디렉토리 작업 공간에서 검색됩니다. 'workspace' 디렉토리의 모든 하위 디렉토리와 파일도 제공된 문자열 패턴과 일치하도록 스캔됩니다.

산출:

./context_log.policy:// catalina.policy - Tomcat 7에 대한 보안 정책 권한 ./context_log.policy:// 참고: tomcat-juli.jar가 ${catalina.base}에 있고 ${catalina.home에 없는 경우 }, ./context_log.policy:// grant codeBase "file:${catalina.base}/bin/tomcat-juli.jar" {..} ./context_log.policy:grant codeBase "file:${catalina.home }/bin/tomcat-juli.jar" { ./context_log.policy: 권한 java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.websocket.server"; ./context.xml: ./catalina.properties:# - Tomcat 부트스트랩 JAR ./catalina.properties:# - Tomcat API JAR ./catalina.properties:# - Tomcat JAR ./catalina.properties:# - 일반적인 비 Tomcat JAR ./catalina.properties:org.apache.catalina.startup.TldConfig.jarsToSkip=tomcat7-websocket.jar ./catalina.properties:tomcat.util.buf.StringCache.byte.enabled=true ./catalina.properties:# tomcat.util.buf.StringCache.char.enabled=true ./catalina.properties:#tomcat.util.buf.StringCache.trainThreshold=500000 ./catalina.properties:#tomcat.util.buf.StringCache.cacheSize=5000 . /server.xml: 경로명="conf/tomcat-users.xml" /> ./server.xml: 

노트: 사용 중 -아르 자형 옵션 그렙 파일 이름이 아닌 파일의 경로를 제공해야 하는 명령

로만 전체 단어 검색 그렙 명령

많은 경우 한 단어를 검색하지만 개별 단어가 아닌 일치하는 단어를 포함하는 일치하는 행으로 터미널을 채우는 경우가 많습니다. 하위 부분이 입력한 문자열인 일부 단어가 포함된 행을 볼 수 있습니다.

혼란스럽습니까? 걱정하지 마세요. 예제를 보면 훨씬 이해하기 쉽습니다.

예시:

여기에서 개별 단어 'cart'를 검색하여 'sample.txt' 파일에서 이 단어와 일치하는 모든 줄을 표시하려고 합니다.

grep -i 장바구니 sample.txt

산출:

데카르트 좌표는 모든 데카르트 좌표의 중요도입니다. 소 수레를 사용하는 것은 마을에서 농사일을 위해 흔히 볼 수 있는 일입니다. 소년이 수레를 놓아두자 수레가 사라졌습니다.

출력에서 'Cartesian'이라는 단어에도 'cart'라는 단어가 포함되어 있으므로 'Cartesian'이라는 단어가 포함된 행도 표시되는 것을 원하지 않더라도 표시되는 것을 볼 수 있습니다.

당신은 사용할 수 있습니다 -w 옵션 그렙 이 모호성을 해결하기 위한 명령입니다.

통사론:

grep -i -w [문자열] [파일 이름]

예시:

grep -i -w 장바구니 sample.txt

산출:

황소 카트를 사용하는 것은 농촌에서 집안일을 하기 위해 마을에서 흔히 볼 수 있는 일입니다. 소년이 놔둔 채로 카트가 사라졌습니다. 

이제, 당신이 사용했을 때 – 옵션 그렙 'cart'라는 단어가 전체적으로 사용되는 줄만 표시됩니다.

다음을 사용하여 반전 검색 그렙 명령

그렙 명령은 역방향으로도 사용할 수 있습니다. 우리는 사용할 수 있습니다 그렙 일치하는 줄을 숨기고 일치하지 않는 줄만 표시하여 반대로 명령을 실행합니다. 다음을 사용하여 이 작업을 수행할 수 있습니다. -V 옵션 그렙 명령.

통사론:

grep -i -v [문자열] [파일 이름]

예시:

grep -i -v 리소스 sample.txt

산출:

인도는 평화를 사랑하는 사람들의 아름다운 나라입니다. 인도는 입법부, 행정부, 사법부의 세 기둥 위에 서 있습니다. 인도는 평화를 사랑하는 사람들의 아름다운 나라입니다. 데카르트 좌표 모든 데카르트 좌표의 중요성. 황소 카트를 사용하는 것은 농촌에서 집안일을 하기 위해 마을에서 흔히 볼 수 있는 일입니다. 이것이 샘플 파일의 끝입니다.

출력에서 'resource'라는 단어가 포함된 행을 제외한 다른 모든 행이 표시됩니다.

일치하는 문자열의 발생 횟수 계산

의 출력 그렙 파일의 데이터가 방대한 경우 명령은 일반적으로 매우 깁니다. 일치하는 항목이 많을수록 출력이 길어집니다. 그렙 명령. Linux는 일치 항목 수를 표시할 수 있는 옵션을 제공합니다.

통사론:

grep -i -c [문자열] [파일 이름]

예시:

grep -i -c 인도 sample.txt

산출:

gaurav@ubuntu:~/workspace$ grep -i -c 인도 sample.txt 4 gaurav@ubuntu:~/workspace$

여기서 출력은 sample.txt 파일에서 'India'라는 단어의 출현 횟수인 숫자입니다.

노트: 나는 사용했다 -나 대소문자 구분 문제에 안전하기 위해 모든 예에서 옵션을 선택합니다. 찾고 있는 단어의 대소문자가 확실하다면 생략해도 됩니다. -나 옵션.

결론

의 기본적인 사용법을 배웠습니다. 그렙 이 자습서의 Linux 시스템에 대한 명령입니다. 우리는 또한 우리의 요구 사항에 가장 잘 맞는 다양한 콘텐츠를 표시하고 터미널을 많은 줄로 혼잡하게 만들지 않는 방법을 배웠습니다. 그렙 명령은 큰 데이터 세트를 스캔하는 데 사용되는 경우 확실히 시간을 절약할 수 있습니다.