Linux에서 Grep 및 Ripgrep을 사용하여 특정 텍스트가 포함 된 파일을 찾는 방법
Linux 시스템의 grep
및 ripgrep
명령은 검색을 미세 조정하고 효율성을 향상시키는 여러 옵션을 제공하는 강력한 텍스트 모드 검색 도구입니다. 이 안내서는이 두 명령을 사용하여 파일 내용에 특정 텍스트 문자열이 포함 된 파일을 찾는 방법을 자세히 설명합니다.
목차
- 기본 사용
- 특정 파일 유형을 포함합니다
- 특정 파일 유형을 제외합니다
- 특정 디렉토리 제외
- 파일 이름 만 표시합니다
- 리버스 매치
- 일치 통계
- 예
-
ripgrep
사용하여 Linux 파일에서 텍스트 모드를 검색하십시오- 기본 사용
- 일반적인 매개 변수
- 예
- 기본 사용
- FAQ :
grep
및ripgrep
사용하여 파일에서 텍스트를 검색하십시오.-
grep
사용하여 컨텐츠가 특정 텍스트 문자열이 포함 된 모든 파일을 찾는 방법은 무엇입니까?
-
- 내
grep
검색에 특정 파일 유형을 포함하거나 제외하는 방법은 무엇입니까?
- 내
- 내
grep
검색에서 특정 디렉토리를 제외하는 방법은 무엇입니까?
- 내
- 특정 문자열이 포함 된 파일 이름 만 표시하는 방법은 무엇입니까?
-
ripgrep
란 무엇이며 왜 그것을 사용해야합니까?
-
-
ripgrep
사용하여 기본 검색을 수행하는 방법은 무엇입니까?
-
- 일반적으로 사용되는
ripgrep
매개 변수는 무엇입니까?
- 일반적으로 사용되는
- 다른 옵션을 사용하여
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 : grep
및 ripgrep
사용하여 파일에서 텍스트를 검색하십시오.
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>
요약
이 튜토리얼에서는 grep
및 ripgrep
명령을 사용하여 특정 텍스트 문자열이 포함 된 파일을 검색하는 방법에 대해 논의합니다.
grep
는 포괄적이고 다재다능한 도구이지만 rg
( ripgrep
)는 개선 된 성능과보다 현대적인 사용자 경험을 제공하므로 특히 대규모 프로젝트 또는 대형 파일로 작업 할 때 텍스트 검색에 인기있는 선택입니다.
관련 판독 값 :
- Linux의 파일 이름에서 특정 텍스트로 파일을 찾고 삭제하는 방법
위 내용은 Linux에서 Grep 및 Ripgrep을 사용하여 특정 텍스트가 포함 된 파일을 찾는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undress AI Tool
무료로 이미지를 벗다

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

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

Stock Market GPT
더 현명한 결정을 위한 AI 기반 투자 연구

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

torunwindowsprogramsonlinux, trythesemethods : 1.usewinetodirectlyrun.exefiles.2.installplayOnlinuxForeAsierWinEmangement.3. setupaWindowsVirtualMachinewithVirtualbox.4.uselutristoinstallandrunwindowseAmesseamlessy.

ToIndifyyourgpuonlinux, trythesesteps : 1.RunlSpci | grep-i'3d \\ | vga'.2.usesudolshw-cdisplay.3. Check/Proc/Driver/nvi DIA/GPUS/FORNVIDIAGPUS.4.RUNNVIDIA-SMIIFNVIDIATOOLSAREINSTALLED.5.INSTALLANDUSEINXI-GFORDETAILED, FORMATTEDOUTPUT.

TOTAKESCREENSHOTSONLINUX : 1. useprtscnkeyforfullscreen, alt prtscnforactivewindow.2.usegnomescreenshottoolformoreoptions.3.usegnome-screenshotcommandinterminal.4.installandusscrotforlightweightscommand-linecapturing.

TOINSTALLVSCODEONLINUX, USETHEOFFICIALAPTREPOSOTIONFORAUTOMICOMICUTDATES, SNAPFORCROSS-DISTIOLCOMPATIBIED, ORAMANUALTARBALLFORFULLCONTROL.CHOOSEBARINGONOURSYSTEMANDNEDS.

TolocateAprogram'SinstallationPathonlinux, 사용 : 1. whithProgram_nameforquickpath 기반 lookup.2.whereisprogram_nametofindbinaries, manpages, andsources

ifyoufacedIsplayOrperformanceIssuesHennIviDriversOnlinux, followthesesteps : 1. indidentifyyUrgPumoDelusinglSpci.2.useYourDipribution'SpackAgemanagerToinStallTherecommendedDriver.3

toupdateMddriversonlinux, UseYourDiptribution'SpackagemanagerToinstallupdatedMesAdrivers, orinstallamdgpu-proforprofessionalneeds.ubuntuuserscanusethe "avstdeftDrivers"툴 피난처 스위치

autostartinkde, autostartinkde, autostartinkde, autostartinkde, orsessionandstartupinxfcetomanageloginprograms.2.manicsedstartupentriesvia.desktopfilesin ~/.config/autostart/ficc
