php教程 PHP开发 Linux에서 grep 명령을 사용하는 12가지 실제 사례

Linux에서 grep 명령을 사용하는 12가지 실제 사례

Dec 13, 2016 pm 02:38 PM

grep은 모든 Linux 배포판에 사전 설치되어 제공되는 강력한 파일 패턴 검색 도구입니다. 어떤 이유로든 시스템이 사전 설치되어 있지 않은 경우 시스템의 패키지 관리자(Debian/Ubuntu 시스템에서는 apt-get, RHEl/CentOS/Fedora 시스템에서는 yum)를 통해 쉽게 설치할 수 있습니다.

$ sudo apt-get install grep #Debian/Ubuntu $ sudo yum install grep #RHEL/CentOS/Fedora

실제 사례를 사용하면 참여하게 됩니다. grep 명령을 사용하는 가장 쉬운 방법입니다.

1. 파일 검색 및 찾기

컴퓨터에 새로운 Ubuntu를 설치한 다음 Python을 제거할 계획이라고 가정합니다. 튜토리얼을 찾기 위해 웹을 탐색했지만 두 가지 서로 다른 버전의 Python이 사용 중이고 Ubuntu 설치 프로그램이 시스템에 어떤 버전의 Python을 설치했는지, 어떤 모듈을 설치했는지 알 수 없습니다. 이 문제를 해결하려면 다음 명령을 실행하면 됩니다.

$ sudo dpkg -l | grep -i python

출력 예

ii python2.7 2.7. 3-0ubuntu3.4 대화형 고급 객체 지향 언어(버전 2.7)
ii python2.7-minimal 2.7.3-0ubuntu3.4 Python 언어의 최소 하위 집합(버전 2.7)
ii python-openssl 0.12-1ubuntu2.1 OpenSSL 라이브러리를 둘러싼 Python 래퍼
ii python-pam 0.4.2-12.2ubuntu4 PAM 라이브러리에 대한 Python 인터페이스

먼저 dpkg -l을 실행하여 목록을 표시합니다. .deb 패키지가 시스템에 설치되었습니다. 다음으로, 파이프라인을 사용하여 출력 결과를 grep -ipython 명령으로 전송합니다. 이 단계는 결과를 grep으로 전송한 다음 Python이 포함된 모든 항목을 필터링하고 결과를 반환하는 것으로 간단히 설명할 수 있습니다. grep은 대소문자를 구분하므로 -i 옵션은 대소문자를 무시하는 데 사용됩니다. 더 자세한 검색을 수행할 계획이 아니라면 -i 옵션을 사용하는 것이 좋습니다.

2. 파일 검색 및 필터링

grep을 사용하여 하나 이상의 파일을 검색하고 필터링할 수도 있습니다. 다음과 같은 시나리오를 살펴보겠습니다.

Apache 웹 서버에 문제가 있어서 질문을 게시하려면 많은 전문 웹사이트 중 하나를 찾아야 합니다. 친절하게 답변해주신 분이 /etc/apache2/sites-available/default-ssl 파일 내용을 붙여넣어 달라고 요청하셨습니다. 모든 주석 줄을 제거할 수 있다면 당신과 당신을 돕는 사람, 그리고 파일을 읽는 다른 모든 사람들이 문제를 발견하는 것이 더 쉽지 않을까요? 물론 쉽게 할 수 있어요! 다음과 같이 하세요:

$ sudo grep -v "#" /etc/apache2/sites-available/default-ssl

-v 옵션은 grep 명령에 다음을 지시하는 것입니다. 일치하는 항목을 출력하지 않음을 의미하는 출력을 반전하고, 반대로 수행하여 일치하지 않는 모든 항목을 인쇄합니다. 이 예에서 #이 있는 줄은 주석 줄입니다(주석: 사실 이 명령은 정확하지 않으며 "#"이 포함된 줄이 모두 주석 줄은 아닙니다. 주석 줄을 정확하게 일치시키는 방법에 대해서는 다음을 참조하세요. 정규식).

3. 모든 mp3 파일 찾기

grep 명령은 표준 출력에서 ​​결과를 필터링하는 데 매우 유용합니다. 예를 들어 다양한 형식의 음악 파일로 가득 찬 폴더가 있다고 가정해 보겠습니다. 아티스트 jayZ의 모든 mp3 형식 음악 파일을 찾아야 하며, 여기에 혼합된 오디오 트랙이 없어야 합니다. 파이프를 통해 grep과 결합된 find 명령을 사용하여 이 마법을 완료할 수 있습니다.

$ sudo find . -name ".mp3" | grep -vi "remix""

이 예에서는 find 명령을 사용하여 접미사가 .mp3인 모든 파일을 인쇄한 다음 grep -i로 파이프하여 "JayZ"라는 파일을 필터링하고 인쇄한 다음 grep으로 파이프합니다. "remix"가 포함된 항목을 필터링하는 vi

Linux에서 find 명령의 실제 사례 35개

4. 검색 문자열 앞이나 뒤에 줄 번호를 표시합니다.

나머지 두 개 옵션은 일치하는 행과 행 번호를 표시하는 데 사용되는 -A와 -B 사이를 전환하며, 각각 문자열 앞이나 뒤에 표시되는 행 수를 제어합니다. 자세한 내용은 Man 페이지에서 확인했습니다. 트릭: -A=이후, -B=이전.>

5. 일치하는 문자열 주위에 줄 번호를 인쇄합니다


grep 명령의 -C 옵션은 예제 4의 옵션과 매우 유사합니다. 일치하는 문자열 앞이나 뒤의 줄은 인쇄되지 않습니다. 대신 양방향으로 일치하는 줄을 인쇄합니다(주석: 위의 메모리 트릭과 동일: -C=center, 이를 중심으로 함): $ sudo ifconfig grep -C 2 lo

6. 일치 수 계산

이 기능은 grep의 출력을 카운터(wc 프로그램)로 파이프하는 것과 유사합니다. grep의 내장 옵션은 동일한 목적을 달성할 수 있습니다.

$ sudo ifconfig | grep -c inet6

7. 주어진 문자열에 따라 파일에서 일치하는 줄 번호를 검색합니다.


디버깅이 필요한 경우 컴파일 오류가 발생하면 grep 명령의 -n 옵션은 매우 유용한 기능입니다. 검색 중인 내용이 파일의 어느 줄인지 알려줄 수 있습니다.

$ sudo grep -n "main" setup .py

8. 모든 디렉토리에서

의 재귀 검색

현재 폴더에서 문자열을 검색하고 현재 폴더에 하위 디렉터리가 많은 경우 재귀 검색을 용이하게 하기 위해 -r 옵션을 지정할 수 있습니다. $ sudo grep -r "function" *

9. 정확히 일치 검색 수행

문자열에서 정확히 일치 검색을 수행하려면 -w 옵션을 grep 명령에 전달합니다(주석: 와일드카드가 아닌 검색할 단어 포함). 예를 들어 다음과 같이 입력하면

$ sudo ifconfig | grep -w "RUNNING"

따옴표 안에 일치 항목이 포함된 줄이 인쇄됩니다. 또한 다음과 같은 방법도 시도해 볼 수 있습니다.

$ sudo ifconfig | grep -w "RUN"

이 일치 항목을 검색할 때 별도의 검색 항목이 없는 경우 즉, 아무것도 반환되지 않습니다.

10. Gzip 압축 파일에서 검색

grep의 파생 응용 프로그램에도 주목하고 싶습니다. 첫 번째는 zcat과 매우 유사하며 gzip 압축 파일에 사용할 수 있는 zgrep입니다. grep과 유사한 명령 옵션이 있으며 동일한 방식으로 사용됩니다:

$ sudo zgrep -i error /var/log/syslog.2.gz

11. file 정규식 일치

egrep은 "확장 전역 정규식"을 나타내는 또 다른 파생 애플리케이션입니다. + 및 ()와 같은 더 많은 정규식 메타 문자를 인식합니다. Egrep은 소스 코드 파일을 검색할 때 매우 유용한 도구입니다. 조각난 코드 파일에 대한 다른 검색 요구 사항도 있으므로 이러한 검색 기능이 필요합니다. grep 명령에서 -E 옵션을 사용하여 활성화할 수 있습니다.

$ sudo grep -E

12. 고정된 일치 문자열 검색

fgrep은 파일 또는 파일 목록에서 고정 스타일 문자열을 검색하는 데 사용됩니다. 기능은 grep -F와 동일합니다. fgrep의 일반적인 용도는 패턴이 포함된 파일을 전달하는 것입니다.

$ sudo fgrep -f file_full_of_patterns.txt file_to_search.txt

이것은 grep 명령의 시작일 뿐입니다. , 당신은 다양한 요구 사항을 구현하는 데 매우 유용하다는 것을 알았을 것입니다. 우리가 실행하는 한 줄 명령 외에도 grep은 cron 작업 또는 실행을 위한 자동 쉘 스크립트로 작성될 수도 있습니다. 호기심을 갖고 매뉴얼 페이지의 옵션을 실험해보고 목적에 맞는 몇 가지 grep 표현식을 작성하십시오.


본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)