본문 바로가기

IT's Life/Linux

자세한 Linux grep 명령 : 파일 내용 찾기


여러 번 파일의 전체 내용을 나열 할 필요는 없지만 파일에서 지정된 정보가 포함 된 행을 찾을 수 있습니다 grep 명령을 사용할 수 있습니다 .

grep 명령은 Three Musketeers의 Linux 텍스트 처리 멤버로 작동 하고 나머지 두 개는 sed와 awk이며 이후 장에서 자세히 설명합니다.

grep 명령의 원점은 UNIX 초기로 거슬러 올라갈 수 있으며 UNIX 시스템에서는 검색 패턴을 정규 표현식이라고하며 파일을 철저하게 검색하기 위해 일부 사용자는 문자열을 검색합니다. 전역 (사전)에 미리 추가 된 경우, 일치하는 컨텐츠를 찾으면 사용자가 컨텐츠를 화면에 인쇄하면 일련의 조작이 전역 정규식 인쇄에 통합됩니다. grep 명령의 전체 이름 

grep 명령은 하나 이상의 파일에서 특정 문자 패턴 (정규 표현식)을 검색하며 단일 문자, 문자열, 단어 또는 문장 일 수 있습니다. 


정규 표현식은 문자열 집합을 설명하는 패턴으로, 정규 표현식의 구성은 연산자를 사용하여 더 작은 표현식을 새 표현식으로 결합하여 수학 표현식을 모방합니다. 정규식은 일반 텍스트이거나 패턴을 생성하는 데 사용되는 일부 특수 문자 일 수 있습니다. 검색 패턴을 추가로 정의하기 위해 grep 명령은 표에 표시된대로 이러한 정규식의 메타 문자 (즉, 와일드 카드)를 지원합니다.


정규식에 대한 와일드 카드

와일드 카드

기능 

 c *

0 (공백) 또는 여러 문자 c (c는 임의의 문자)와 일치합니다. 

 .

하나의 문자 만 일치하며 하나의 문자 만 가능합니다. 

 [xyz]

대괄호 안에있는 문자와 일치합니다. 

 [^ xyz]

대괄호 안의 문자를 제외한 모든 문자를 찾습니다. 

 ^

줄의 시작을 잠그십시오. 

 $

라인의 끝을 잠그십시오. 와일드 카드 *, +, {, |, (및) 등의 기본 정규 표현식에서 원래 의미를 잃어 버렸고 원래 의미를 복원하려면 이전에 역을 추가해야합니다. \ *, \ +, \ {, \ |, \ (및 \)와 같은 슬래시 (\).  

grep 명령은 각 파일 또는 특정 출력에서 ​​특정 패턴을 검색하는 데 사용됩니다 grep을 사용하면 지정된 문자 패턴을 포함하는 각 행이 화면에 인쇄 (표시)되지만 grep 명령이 사용됩니다 파일 내용을 변경하지 않습니다. 

grep 명령의 기본 형식은 다음과 같습니다.

[root @ localhost ~] # grep [옵션] 모드 파일 이름

여기서 패턴은 문자 (문자열) 또는 정규식입니다. 이 명령에 일반적으로 사용되는 옵션과 각각의 의미가 표에 나와 있습니다.


표  grep 명령의 일반적인 옵션 및 의미

옵션

의미 

 -c

패턴을 포함하는 파일의 행 수만 나열합니다. 

 -i

패턴의 문자는 무시하십시오. 

-l

줄이 일치하는 파일 이름을 나열하십시오. 

 -n

각 줄의 맨 위에 줄 번호를 나열하십시오. 

 -v

일치하는 패턴이없는 행을 나열하십시오. 

 -w

 부분적으로 일치하는 행을 무시하고 표현을 완전한 단일 문자로 생각하십시오.

여러 파일을 검색하는 경우 grep 명령의 검색 결과는 파일에서 일치하는 패턴에 대한 파일 이름 만 표시하고 단일 파일을 검색하면 grep 명령의 결과에 일치하는 패턴이 포함 된 각 행이 표시됩니다. 


[예 1] emp.data 직원 목록이 있다고 가정하면이 파일을 검색하고 CLERK 위치의 모든 직원을 찾으려면 다음과 같이 명령을 실행하십시오.

[root @ localhost ~] # grep CLERK emp.data # 

출력 무시

이를 바탕으로 CLERK 직원 수만 알고 싶다면 "-c"옵션을 사용하여 다음과 같이 명령을 실행할 수 있습니다.

[root @ localhost ~] # grep -c CLERK emp.data # 

출력 무시


[예 2] emp.data 파일을 검색하고 정규식을 사용하여 78로 시작하는 데이터 라인을 찾은 후 다음과 같이 명령을 실행하십시오.

[root @ localhost ~] # grep ^ 78 emp.data # 

출력 무시


grep 명령은 매우 강력하며 다양한 옵션을 활용하고 정규 표현식을 변경하여 필요한 것을 얻을 수 있습니다. 이 섹션에서 소개 된 grep 명령은 기본 지식 중 일부만 소개합니다 (예 : grep 명령에 사용할 수있는 옵션이 많고 사용법이 다양하지만 초보자에게는이 섹션에서 설명하는 내용으로 충분합니다). 대부분의 Linux 시스템의 일상적인 작업은 사라졌습니다.