> 시스템 튜토리얼 > 리눅스 > Linux에서 Grep 및 Ripgrep을 사용하여 특정 텍스트가 포함 된 파일을 찾는 방법

Linux에서 Grep 및 Ripgrep을 사용하여 특정 텍스트가 포함 된 파일을 찾는 방법

Jennifer Aniston
풀어 주다: 2025-03-17 09:07:20
원래의
741명이 탐색했습니다.

Linux에서 Grep 및 Ripgrep을 사용하여 특정 텍스트가 포함 된 파일을 찾는 방법

Linux 시스템의 grepripgrep 명령은 검색을 미세 조정하고 효율성을 향상시키는 여러 옵션을 제공하는 강력한 텍스트 모드 검색 도구입니다. 이 안내서는이 두 명령을 사용하여 파일 내용에 특정 텍스트 문자열이 포함 된 파일을 찾는 방법을 자세히 설명합니다.

목차

    1. 기본 사용
    1. 특정 파일 유형을 포함합니다
    1. 특정 파일 유형을 제외합니다
    1. 특정 디렉토리 제외
    1. 파일 이름 만 표시합니다
    1. 리버스 매치
    1. 일치 통계
  • ripgrep 사용하여 Linux 파일에서 텍스트 모드를 검색하십시오
    • 기본 사용
      • 일반적인 매개 변수
  • FAQ : grepripgrep 사용하여 파일에서 텍스트를 검색하십시오.
      1. grep 사용하여 컨텐츠가 특정 텍스트 문자열이 포함 된 모든 파일을 찾는 방법은 무엇입니까?
      1. grep 검색에 특정 파일 유형을 포함하거나 제외하는 방법은 무엇입니까?
      1. grep 검색에서 특정 디렉토리를 제외하는 방법은 무엇입니까?
      1. 특정 문자열이 포함 된 파일 이름 만 표시하는 방법은 무엇입니까?
      1. ripgrep 란 무엇이며 왜 그것을 사용해야합니까?
      1. ripgrep 사용하여 기본 검색을 수행하는 방법은 무엇입니까?
      1. 일반적으로 사용되는 ripgrep 매개 변수는 무엇입니까?
      1. 다른 옵션을 사용하여 ripgrep 예제를 제공 할 수 있습니까?
  • 요약

grep 사용하여 특정 텍스트 문자열이 포함 된 파일을 찾으십시오

grep (Global Recond Expression Print)는 파일과 일치하는 라인의 패턴을 검색하는 명령 줄 유틸리티입니다. Linux를 포함한 Unix와 같은 운영 체제에서 널리 사용되는 강력한 텍스트 처리 도구입니다.

grep 정규 표현식을 지원하여 복잡한 패턴 매칭을 유연하게 수행 할 수 있습니다. grep 명령 사용에 대한 자세한 내용은 다음 안내서를 참조하십시오.

  • grep 명령 자습서 및 예제 (초보자)

이제 grep 명령을 사용하여 Linux에서 특정 단어 나 문구가 포함 된 파일을 찾는 방법에 대해 논의 해 봅시다.

1. 기본 사용

특정 텍스트 패턴 (상징적 링크 포함)을 재귀 적으로 검색하고 패턴이 일치하는 줄 번호를 표시하려면 다음 명령을 사용하십시오.

 <code>grep -Rnw '/path/to/directory/' -e 'pattern'</code>
로그인 후 복사
  • -R : 상징적 링크를 포함한 재귀 검색을 수행하십시오.
  • -n : 일치하는 줄 번호를 보여줍니다.
  • -w : 전체 단어 만 일치시킵니다.
  • -e : 검색 할 패턴을 지정합니다.

찾고있는 텍스트 패턴으로 검색하고있는 디렉토리로 /path/to/directory/ 'pattern' 하십시오.

2. 특정 파일 유형을 포함합니다

.txt.md 파일과 같은 특정 확장자가있는 파일을 검색하려면 --include 옵션을 사용하십시오.

 <code>grep --include=\*.{txt,md} -Rnw '/path/to/directory/' -e 'pattern'</code>
로그인 후 복사

3. 특정 파일 유형을 제외합니다

.bak.tmp 파일과 같은 특정 확장자가있는 파일을 제외하려면 --exclude 옵션을 사용하십시오.

 <code>grep --exclude=\*.{bak,tmp} -Rnw '/path/to/directory/' -e 'pattern'</code>
로그인 후 복사

4. 특정 디렉토리 제외

temp_ 로 시작하는 node_modules , .git 및 디렉토리와 같은 검색에서 특정 디렉토리를 제외하려면 --exclude-dir 옵션을 사용하십시오.

 <code>grep --exclude-dir={node_modules,.git,temp_*} -Rnw '/path/to/directory/' -e 'pattern'</code>
로그인 후 복사

5. 파일 이름 만 표시합니다

패턴이 포함 된 파일 이름 만 표시하려면 (정렬 된 알파벳) -l 옵션을 사용하고 sort 과 결합하십시오.

 <code>grep -Rlnw '/path/to/directory/' -e 'pattern' | sort</code>
로그인 후 복사

6. 리버스 매치

패턴과 일치하지 않는 행을 표시하려면 -v 옵션을 사용하십시오.

 <code>grep -Rnwv '/path/to/directory/' -e 'pattern'</code>
로그인 후 복사

7. 통계 일치 수

각 파일의 일치하는 줄 수를 표시하려면 -c 옵션을 사용하십시오.

 <code>grep -Rnwc '/path/to/directory/' -e 'pattern'</code>
로그인 후 복사

이 예제는 Linux에서 grep 사용하여 미세 조정 텍스트 검색을위한 다른 고급 옵션을 보여줍니다.

다음 명령 중 일부는 sudo 또는 루트 권한으로 실행해야합니다.

1. 현재 디렉토리의 모든 파일에서 문자열 "비밀번호"를 검색하십시오.

 <code>grep -Rnw '.' -e 'password'</code>
로그인 후 복사

2. /etc 디렉토리에서 "사용자"를 검색하십시오.

 <code>grep -Rinw '/etc' -e 'user'</code>
로그인 후 복사

3. /home/user/projects 디렉토리에서 "메인"이라는 단어 검색 :

 <code>grep -Rnw '/home/user/projects' -e 'main'</code>
로그인 후 복사

4. 현재 디렉토리의 모든 .py 파일에서 "todo"를 검색하십시오.

 <code>grep --include=\*.py -Rnw '.' -e 'TODO'</code>
로그인 후 복사

5. /var/logs 디렉토리에서 "기밀"을 검색하고 .log 파일을 제외하십시오.

 <code>grep --exclude=\*.log -Rnw '/var/logs' -e 'confidential'</code>
로그인 후 복사

6. /var/log 디렉토리에서 "오류"를 검색하고 파일 이름 만 표시합니다.

 <code>grep -Rlnw '/var/log' -e 'error'</code>
로그인 후 복사

7. 압축 파일에서 "실패"를 검색합니다 (예 : backup.zip ) :

 <code>zgrep -i 'fail' backup.zip</code>
로그인 후 복사

8. 통계 /var/log 디렉토리에 "오류"라는 단어가 포함 된 줄 수 :

 <code>grep -Rnwc '/var/log' -e 'error'</code>
로그인 후 복사

이러한 명령 및 옵션은 Linux 환경에서 대부분의 텍스트 검색 요구 사항을 다루어야합니다.

ripgrep 사용하여 Linux 파일에서 텍스트 모드를 검색하십시오

ripgrep ( rg )는 특히 대형 코드베이스 나 대형 파일을 검색 할 때 더 빠르고 사용자 친화적으로 설계된 grep 의 현대적인 대안입니다.

Rust 로 작성되었으며 Limited Automaton, SIMD 및 공격적인 텍스트 최적화와 같은 효율적인 기술을 사용하여 다른 많은 검색 도구보다 훨씬 빠릅니다.

ripgrep 또한 기본적으로보다 직관적이고 다채로운 출력을 제공하며 검색 동작을 사용자 정의 할 수있는 풍부한 옵션 세트가 있습니다.

기본 사용

현재 디렉토리에서 문자열 "function"을 검색하려면 :

 <code>rg "search_string" .</code>
로그인 후 복사

일반적인 매개 변수

  • -i : 사례에 민감한 검색을 수행하십시오.
  • -I : 이진 파일을 무시하십시오.
  • -w : 전체 단어 만 검색하십시오.
  • -n : 일치하는 줄 번호를 보여줍니다.
  • -C 또는 --context : 일치하는 행 주변의 컨텍스트를 보여줍니다 (예 : -C3 경기 전후 3 줄을 보여줍니다).
  • --color=auto : 일치하는 텍스트를 강조 표시합니다.
  • -H : 찾은 텍스트의 파일 이름을 표시합니다.
  • -c : 일치 행의 수를 보여줍니다 ( -H 와 결합 할 수 있음).

/var/log/ 에서 "오류"를 검색하십시오.

 <code>rg -i "error" /var/log/</code>
로그인 후 복사

/home/user/config 디렉토리에서 전체 단어 "데이터베이스"를 검색하십시오.

 <code>rg -w "database" /home/user/config</code>
로그인 후 복사

3. 현재 디렉토리에 "초기화"문자열의 줄 번호와 주변 컨텍스트를 표시합니다 (3 줄 전후) :

 <code>rg -n -C3 "initialize" .</code>
로그인 후 복사

/var/www/html 디렉토리의 모든 파일에서 "감가 상징"문자열을 검색하고 바이너리 파일을 무시하고 일치하는 것을 강조 표시하십시오.

 <code>rg -I --color=auto "deprecated" /var/www/html</code>
로그인 후 복사

5. /opt/data 디렉토리에 파일 이름의 일치하는 줄과 "성공"의 수를 표시합니다.

 <code>rg -H -c "successful" /opt/data</code>
로그인 후 복사

6. 이진 파일을 무시하고 /etc 디렉토리에 파일 이름을 표시하면서 "user_id"를 검색하십시오.

 <code>rg -I -H "user_id" /etc</code>
로그인 후 복사

7. 문자열 "Connection"을 검색하고 /home/user/logs 디렉토리에 파일 이름과 줄 번호를 표시합니다.

 <code>rg -H -n "connection" /home/user/logs</code>
로그인 후 복사

이 예는 다양한 검색 시나리오, 특히 대규모 프로젝트 및 대규모 파일에서 ripgrep 다양성과 힘을 보여줍니다.

FAQ : grepripgrep 사용하여 파일에서 텍스트를 검색하십시오.

1. 컨텐츠가 특정 텍스트 문자열이 포함 된 모든 파일을 찾기 위해 grep 사용하는 방법은 무엇입니까?

디렉토리 및 하위 디렉토리 내의 모든 파일에서 특정 문자열을 검색하려면 다음 명령을 사용하십시오.

 <code>grep -Rnw '/path/to/dir/' -e 'pattern'</code>
로그인 후 복사
  • -R : 상징적 링크를 포함한 재귀 검색을 수행하십시오.
  • -n : 일치하는 줄 번호를 보여줍니다.
  • -w : 전체 단어 만 일치시킵니다.
  • -e : 검색 할 패턴을 지정합니다.

2. grep 검색에 특정 파일 유형을 포함하거나 제외하는 방법은 무엇입니까?

특정 파일 유형을 포함하려면 :

 <code>grep --include=\*.{sh,py} -Rnw '/path/to/dir/' -e 'pattern'</code>
로그인 후 복사

특정 파일 유형을 제외하려면 :

 <code>grep --exclude=\*.tmp -Rnw '/path/to/dir/' -e 'pattern'</code>
로그인 후 복사

3. grep 검색에서 특정 디렉토리를 제외하는 방법은 무엇입니까?

특정 디렉토리를 제외하려면 :

 <code>grep --exclude-dir={node_modules,dist,logs} -Rnw '/path/to/dir/' -e 'pattern'</code>
로그인 후 복사

4. 특정 문자열이 포함 된 파일 이름 만 표시하는 방법은 무엇입니까?

-l 옵션을 사용하여 일치하는 파일의 이름 만 표시합니다.

 <code>grep -Rlnw '/path/to/documents/' -e 'confidential'</code>
로그인 후 복사

5. ripgrep 란 무엇이며 왜 그것을 사용해야합니까?

rg ( ripgrep )는 특히 대규모 프로젝트 및 대규모 파일에서 grep 에 대한 더 빠르고 효율적인 대안입니다. Rust의 정규식 표현 엔진을 기반으로 한 제한된 오토마톤, SIMD 및 공격적인 텍스트 최적화를 사용하여 검색 속도를 향상시킵니다.

6. ripgrep 사용하여 기본 검색을 수행하는 방법은 무엇입니까?

현재 디렉토리의 모든 파일의 문자열을 검색하려면 다음을 사용하십시오.

 <code>rg "pattern" .</code>
로그인 후 복사

7. 일반적으로 사용되는 ripgrep 매개 변수는 무엇입니까?

  • -i : 사례에 민감한 검색을 수행하십시오.
  • -I : 이진 파일을 무시하십시오.
  • -w : 전체 단어 만 검색하십시오.
  • -n : 일치하는 줄 번호를 보여줍니다.
  • -C 또는 --context : 일치하는 행 주변의 컨텍스트를 보여줍니다 (예 : -C3 경기 전후 3 줄을 보여줍니다).
  • --color=auto : 일치하는 텍스트를 강조 표시합니다.
  • -H : 찾은 텍스트의 파일 이름을 표시합니다.
  • -c : 일치 행의 수를 보여줍니다 ( -H 와 결합 할 수 있음).

8. 다른 옵션을 사용하여 ripgrep 예제를 제공 할 수 있습니까?

  • /var/logs 디렉토리에서 "세션"을 검색하십시오.
 <code>rg -i "session" /var/logs</code>
로그인 후 복사
  • /etc 디렉토리에서 전체 단어 "config"를 검색하십시오.
 <code>rg -w "config" /etc</code>
로그인 후 복사
  • /src 디렉토리에서 "초기화"문자열의 줄 번호와 주변 컨텍스트를 표시하십시오 (4 줄 전후) :
 <code>rg -n -C4 "initialize" /src</code>
로그인 후 복사
  • /usr/share 디렉토리의 모든 파일에서 문자열 "감가 상각 된"문자열을 검색하고 이진을 무시하고 일치를 강조 표시하십시오.
 <code>rg -I --color=auto "deprecated" /usr/share</code>
로그인 후 복사
  • /opt/logs 디렉토리에 파일 이름의 일치하는 줄과 "성공"수를 표시합니다.
 <code>rg -H -c "success" /opt/logs</code>
로그인 후 복사
  • 바이너리 파일을 무시하고 /home/user/settings 디렉토리에 파일 이름을 표시하면서 "사용자 이름"을 검색합니다.
 <code>rg -I -H "username" /home/user/settings</code>
로그인 후 복사
  • 문자열 "가져 오기"를 검색하고 /projects 디렉토리에 파일 이름과 줄 번호를 표시합니다.
 <code>rg -H -n "import" /projects</code>
로그인 후 복사

요약

이 튜토리얼에서는 grepripgrep 명령을 사용하여 특정 텍스트 문자열이 포함 된 파일을 검색하는 방법에 대해 논의합니다.

grep 는 포괄적이고 다재다능한 도구이지만 rg ( ripgrep )는 개선 된 성능과보다 현대적인 사용자 경험을 제공하므로 특히 대규모 프로젝트 또는 대형 파일로 작업 할 때 텍스트 검색에 인기있는 선택입니다.


관련 판독 값 :

  • Linux의 파일 이름에서 특정 텍스트로 파일을 찾고 삭제하는 방법

위 내용은 Linux에서 Grep 및 Ripgrep을 사용하여 특정 텍스트가 포함 된 파일을 찾는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿