Linux Grep 명령의 10가지 실제 예

Linux Grep 명령의 10가지 실제 예

grep 명령은 텍스트 파일에서 패턴을 찾는 데 사용되는 강력한 파일 처리 도구인 grep 유틸리티에 대한 액세스를 제공합니다. 많은 실제 사용 사례가 있으며 가장 많이 사용되는 Linux 명령 중 하나입니다. 이 가이드는 실제 사용되는 몇 가지 간단하지만 유용한 Linux grep 명령을 보여줍니다.





데모용 예제 파일

독자가 grep을 보다 효과적으로 이해할 수 있도록 참조 파일을 만들었습니다. 터미널에서 다음 셸 명령을 실행하여 이 파일의 복사본을 만들 수 있습니다.





Mac에서 Windows 소프트웨어를 실행하는 방법
cat <> test-file
This is a simple text file that contains
multiple strings as well as some telephone numbers
(555) 555-1234 (567) 666-2345
and email plus web addresses
john@doe.com
https://google.com
ftp://mywebserver.com
END

1. 파일에서 텍스트 찾기

파일에서 텍스트 패턴을 검색하려면 grep 다음에 패턴 이름을 실행하기만 하면 됩니다. 또한 텍스트가 포함된 파일의 이름을 지정하십시오.





grep 'email' test-file

이 명령은 우리의 테스트 파일 그 단어가 들어있는 이메일 . grep을 사용하여 여러 파일에서 동일한 텍스트를 검색할 수도 있습니다.

grep 'example' /usr/share/dict/american-english /usr/share/dict/british-english

위의 명령은 단어의 모든 인스턴스를 표시합니다 예시 에서 미국 영어 그리고 영국 영어 사전 파일.



2. 정확히 일치하는 단어 찾기

이전 예에서 설명한 Linux grep 명령은 부분적으로 일치하는 행도 나열합니다. 단어의 정확한 발생만 필요한 경우 아래에 제공된 명령을 사용하십시오.

grep -w 'string' test-file

NS -에 또는 --단어 정규식 grep 옵션은 출력을 정확히 일치하는 항목으로만 제한합니다. Grep은 기본 명령과 함께 사용할 수 있는 몇 가지 추가 플래그로 구성됩니다.





관련: Grep은 어떻게 그 이름을 얻었습니까? Grep의 창조 뒤에 숨겨진 역사

3. 대소문자 구분 무시

기본적으로 grep은 대소문자를 구분하여 패턴을 검색합니다. 그러나 미리 패턴이 어떤 경우인지 모르는 경우 이 기능을 해제하는 것이 좋습니다.





grep -i 'this' test-file

사용 -NS 또는 --대소문자 무시 대소문자 구분을 해제하는 옵션입니다.

4. 패턴 수 세기

NS -씨 깃발은 세다 . 특정 패턴에 대해 발견된 일치 항목의 수를 표시합니다. 관리자는 이를 사용하여 시스템에 대한 특정 정보를 검색할 수 있습니다.

당신은 파이프 할 수 있습니다 ps 명령 grep을 사용하여 현재 사용자에게 속한 프로세스를 계산합니다.

ps -ef | grep -c $USER

다음 명령은 수를 표시합니다. MP3 디렉토리에 존재하는 파일.

ls ~/Music | grep -c .mp3

5. 일치 항목이 포함된 줄 번호 표시

특정 일치 항목이 포함된 행 번호를 찾을 수 있습니다. 사용 -N 또는 --줄 번호 이를 달성하기 위한 grep 옵션.

cat /etc/passwd | grep -n rubaiat

이 옵션은 소스 코드 디버깅 및 로그 파일 문제 해결에 특히 유용합니다. 라인의 모든 숫자를 표시하려면 ~/.vimrc Vim 텍스트 편집기를 구성하는 데 사용됩니다.

grep -n 'set' ~/.vimrc

6. 확장자를 사용하여 파일 이름 찾기

모든 목록을 얻으려면 MP3 에 존재하는 파일 ~/음악 예배 규칙서:

ls ~/Music/ | grep '.mp3'

당신은 교체할 수 있습니다 .mp3 특정 파일을 찾기 위한 다른 확장자와 함께. 다음 명령은 모든 PHP 현재 작업 디렉토리에 있는 파일.

내 컴퓨터 스피커가 작동하지 않는 이유
ls | grep '.php'

7. 압축 파일에서 패턴 찾기

Linux grep 명령은 압축 파일 내에서 패턴을 찾을 수도 있습니다. 당신은 사용해야 할 것입니다 zgrep 그러나 이를 수행하기 위한 명령. 먼저 압축된 아카이브를 생성합니다. 테스트 파일 입력하여:

gzip test-file

이제 결과 아카이브 내에서 텍스트 또는 기타 패턴을 검색할 수 있습니다.

zgrep email test-file.gz

8. 이메일 주소 찾기

관리자는 Linux grep 명령을 사용하여 텍스트 파일에서 이메일 주소를 나열할 수도 있습니다. 다음 예에서는 정규식 패턴을 검색하여 이를 수행합니다.

grep '^[a-zA-Z0-9]+@[a-zA-Z0-9]+.[a-z]{2,}' test-file

유사한 작업을 수행하기 위한 정규식을 찾거나 작동 방식을 알고 있는 경우 직접 만들 수 있습니다.

9. Grep을 사용하여 전화번호 찾기

grep 정규식을 사용하여 텍스트 파일에서 전화번호를 필터링할 수 있습니다. 필요한 전화번호 유형과 일치하도록 패턴을 조정해야 합니다.

grep '(([0-9]{3})|[0-9]{3})[ -]?[0-9]{3}[ -]?[0-9]{4}' test-file

앞서 언급한 명령은 10자리 미국 전화번호를 필터링합니다.

10. 소스 파일에서 URL 찾기

텍스트 파일에서 찾은 URL을 나열하기 위해 grep의 기능을 활용할 수 있습니다. 아래 주어진 명령은 파일에 있는 모든 URL을 인쇄합니다. 테스트 파일 .

grep -E '^(http|https|ftp):[/]{2}([a-zA-Z0-9-.]+.[a-zA-Z]{2,4})' test-file

우리는 다시 사용하고 있습니다 -그리고 확장 정규식에 대한 옵션입니다. 당신은 또한 사용할 수 있습니다 이그렙 이것을 추가하지 않도록 명령합니다.

egrep '^(http|https|ftp):[/]{2}([a-zA-Z0-9-.]+.[a-zA-Z]{2,4})' test-file

Linux Grep 명령 마스터하기

우리는 실제 문제를 해결하기 위한 Linux grep 명령의 몇 가지 유용한 예를 제시했습니다. 이 예는 텍스트 처리를 위한 grep의 힘을 보여주지만 grep을 사용하여 생산성을 높이려면 정규식을 마스터해야 합니다.

때때로 Linux 사용자는 명령과 관련된 다양한 옵션을 기억할 수 없는 특정 상황에 부딪힙니다. Linux 운영 체제가 거의 모든 시스템 유틸리티에 대한 명령줄 도움말을 얻을 수 있는 방법을 제공하기를 바랍니다.

공유하다 공유하다 트위터 이메일 Linux에서 명령줄 도움말을 얻는 7가지 방법

명령줄에서 Linux 명령을 배우기 위한 모든 필수 명령

다음 읽기
관련 항목
  • 리눅스
  • 리눅스
  • 리눅스 명령어
저자 소개 루바이앗 호세인(39개 기사 게재)

Rubiat는 오픈 소스에 대한 강한 열정을 가진 CS 졸업생입니다. 그는 유닉스 베테랑일 뿐만 아니라 네트워크 보안, 암호화 및 함수형 프로그래밍에도 관심이 있습니다. 그는 중고 서적의 열렬한 수집가이며 클래식 록에 대한 끝없는 동경을 가지고 있습니다.

Rubaiat Hossain이 참여한 작품 더보기

뉴스레터 구독

뉴스레터에 가입하여 기술 팁, 리뷰, 무료 전자책 및 독점 거래를 확인하십시오!

내가 페이스북에서 차단한 사람 보기
구독하려면 여기를 클릭하세요.