Computer >> 컴퓨터 >  >> 프로그램 작성 >> BASH 프로그래밍

여러 단어, 문자열 및 패턴을 Grep하는 방법

이 가이드는 grep 사용 방법을 설명합니다. 여러 단어, 문자열 검색을 위한 유틸리티 및 패턴. 아래에서 이를 수행하는 데 사용되는 명령의 전체 예를 찾을 수 있습니다.

그렙이란 무엇입니까?

grep은 명령줄 기능을 의미합니다. . Grep은 Global Regular Expression Print의 약자입니다. 본질적으로 특정 정규식과 일치하는 행을 찾는 입력 파일을 검색합니다. 그런 다음 표준 출력에 대한 각 줄을 작성하여 결과를 반환합니다.

grep 유틸리티는 세 가지 표현식 구문에 적합합니다. 기본, 확장 또는 Perl 호환으로 지정할 수 있습니다. 정규식 구문이 지정되지 않은 경우 GNY grep은 검색 패턴을 기본 표현식으로 설정합니다.

여러 패턴에 대한 Grep

여러 패턴을 검색하려면 대체 연산자라고 하는 OR 연산자를 사용할 수 있습니다. 이 연산자/파이프는 다음과 같습니다. |

이를 통해 사용자는 표현식 집합이든 리터럴 문자열이든 모든 잠재적 일치를 지정할 수 있습니다. 따라서 여러 패턴을 검색하려면 다음과 같이 입력합니다.

$ grep 'first pattern\|second pattern' filename

'첫 번째 패턴 ' 및 '두 번째 패턴 '는 당신이 찾고 있는 잠재적인 패턴으로 대체될 것입니다. 이 정규식 – '첫 번째 패턴\|두 번째 패턴 ' – 항상 작은따옴표로 묶어야 합니다. 파이프 기호는 대체 연산자와 같은 이스케이프(백슬래시 ) 문자는 grep에 파이프를 다르게 지시하도록 지시하는 데 필요합니다.

의도한 패턴을 확장 정규식으로 지정하려면 '-e ' 또는 '—확장 정규 표현식 '를 사용할 수 있습니다. 예:

$ grep -E 'first pattern|second pattern' filename

확장 정규식에서는 파이프를 이스케이프할 필요가 없습니다.

파일로 검색할 수 있으므로 Presentation.txt 내에서 검색 패턴은 다음과 같을 수 있습니다.

$ grep -E 'first pattern|second pattern' presentation.txt

grep 강조 표시하려는 문자열이 출력에 표시됩니다.

찾고 있는 파일이 다른 디렉토리에 있는 경우 전체 파일 경로를 사용하여 특정 디렉토리에서 검색하도록 grep에 지시해야 합니다. 예:

$ grep -E 'first pattern|second pattern' /home/presentation.txt

여러 문자열에 대한 Grep

가장 기본적인 패턴은 리터럴 문자열입니다. 여러 문자열을 검색하려면 grep 명령 뒤에 입력합니다. '하나 ', ' ' 및 ' '. 다음과 같이 보일 수 있습니다.

$ grep 'one\|two\|three'

해당 명령을 따르세요. 검색하는 파일로. 확장 정규식을 사용하여 검색하는 경우 본질적으로 '\ '. 예:

$ grep -E 'one|two|three'

대소문자 구분 무시

'grep' 명령은 대소문자를 구분합니다. 대소문자를 무시하려면 '-i ' 또는 '—대소문자 무시 ' 옵션. 예:

$ grep -i 'one\|two\|three'

여러 일치 항목 수 표시

로그 파일 내에 있고 경고 및 오류 메시지의 수가 증가하는지 알고 싶지만 완전한 세부 결과가 표시되지 않는 경우 '-c를 사용할 수 있습니다. '. myapp.log 내에서 여러 일치 항목을 계산하려면 파일은 다음과 같을 수 있습니다.

grep -c 'one\|two\|three' /var/log/myapp.log

특정 파일 형식의 여러 패턴을 Grep

특정 파일 형식에서 여러 문자열을 검색할 수 있습니다. 이를 통해 예를 들어 디렉토리 내의 모든 텍스트 파일 또는 모든 로그 파일을 검색할 수 있습니다. 파일 이름 대신 파일 확장자와 함께 별표를 사용하면 grep에 지시합니다. 오류 메시지에 대한 위의 예를 사용하여 모든 로그 파일을 살펴보면 다음과 같을 수 있습니다.

grep -c 'one\|two\|three' /var/log/*.log

여러 일치 항목에 대해 재귀적으로 검색

grep을 사용하면 사용 중인 별표가 있는 현재 디렉토리 내에서만 검색합니다. 모든 하위 디렉토리를 포함해야 하는 경우 '-R' 옵션을 사용할 수 있습니다.

grep -R 'one\|two\|three' /var/log/*.log

그러면 지정된 var/log/ 디렉터리 및 하위 디렉터리에 있는 모든 파일에 대한 결과가 반환됩니다.

정확한 일치를 위해 grep 사용

'grep' 명령은 정확한 일치뿐만 아니라 문자열도 포함된 모든 결과를 표시합니다. 예를 들어 '값'을 검색할 때 '값'과 '값'도 포함하는 행을 인쇄합니다. 전체 단어와 정확히 일치하는 행만 반환하려면 '-w를 사용할 수 있습니다. ' 또는 '—단어 정규 표현식 '. 정확히 일치하는 '하나 ', ' ' 및 ' ':

$ grep -w 'one\|two\|three'

단어 문자에는 영숫자가 포함되므로 0-9 및 a-z와 밑줄 문자가 포함됩니다. 다른 문자는 단어가 아닌 문자로 간주됩니다.