Linux 시스템의 grep
및 ripgrep
명령은 검색을 미세 조정하고 효율성을 향상시키는 여러 옵션을 제공하는 강력한 텍스트 모드 검색 도구입니다. 이 안내서는이 두 명령을 사용하여 파일 내용에 특정 텍스트 문자열이 포함 된 파일을 찾는 방법을 자세히 설명합니다.
목차
ripgrep
사용하여 Linux 파일에서 텍스트 모드를 검색하십시오grep
및 ripgrep
사용하여 파일에서 텍스트를 검색하십시오.grep
사용하여 컨텐츠가 특정 텍스트 문자열이 포함 된 모든 파일을 찾는 방법은 무엇입니까?grep
검색에 특정 파일 유형을 포함하거나 제외하는 방법은 무엇입니까?grep
검색에서 특정 디렉토리를 제외하는 방법은 무엇입니까?ripgrep
란 무엇이며 왜 그것을 사용해야합니까?ripgrep
사용하여 기본 검색을 수행하는 방법은 무엇입니까?ripgrep
매개 변수는 무엇입니까?ripgrep
예제를 제공 할 수 있습니까?grep
사용하여 특정 텍스트 문자열이 포함 된 파일을 찾으십시오 grep
(Global Recond Expression Print)는 파일과 일치하는 라인의 패턴을 검색하는 명령 줄 유틸리티입니다. Linux를 포함한 Unix와 같은 운영 체제에서 널리 사용되는 강력한 텍스트 처리 도구입니다.
grep
정규 표현식을 지원하여 복잡한 패턴 매칭을 유연하게 수행 할 수 있습니다. grep
명령 사용에 대한 자세한 내용은 다음 안내서를 참조하십시오.
grep
명령 자습서 및 예제 (초보자)
이제 grep
명령을 사용하여 Linux에서 특정 단어 나 문구가 포함 된 파일을 찾는 방법에 대해 논의 해 봅시다.
특정 텍스트 패턴 (상징적 링크 포함)을 재귀 적으로 검색하고 패턴이 일치하는 줄 번호를 표시하려면 다음 명령을 사용하십시오.
<code>grep -Rnw '/path/to/directory/' -e 'pattern'</code>
-R
: 상징적 링크를 포함한 재귀 검색을 수행하십시오.-n
: 일치하는 줄 번호를 보여줍니다.-w
: 전체 단어 만 일치시킵니다.-e
: 검색 할 패턴을 지정합니다. 찾고있는 텍스트 패턴으로 검색하고있는 디렉토리로 /path/to/directory/
'pattern'
하십시오.
.txt
및 .md
파일과 같은 특정 확장자가있는 파일을 검색하려면 --include
옵션을 사용하십시오.
<code>grep --include=\*.{txt,md} -Rnw '/path/to/directory/' -e 'pattern'</code>
.bak
및 .tmp
파일과 같은 특정 확장자가있는 파일을 제외하려면 --exclude
옵션을 사용하십시오.
<code>grep --exclude=\*.{bak,tmp} -Rnw '/path/to/directory/' -e 'pattern'</code>
temp_
로 시작하는 node_modules
, .git
및 디렉토리와 같은 검색에서 특정 디렉토리를 제외하려면 --exclude-dir
옵션을 사용하십시오.
<code>grep --exclude-dir={node_modules,.git,temp_*} -Rnw '/path/to/directory/' -e 'pattern'</code>
패턴이 포함 된 파일 이름 만 표시하려면 (정렬 된 알파벳) -l
옵션을 사용하고 sort
과 결합하십시오.
<code>grep -Rlnw '/path/to/directory/' -e 'pattern' | sort</code>
패턴과 일치하지 않는 행을 표시하려면 -v
옵션을 사용하십시오.
<code>grep -Rnwv '/path/to/directory/' -e 'pattern'</code>
각 파일의 일치하는 줄 수를 표시하려면 -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
다양성과 힘을 보여줍니다.
grep
및 ripgrep
사용하여 파일에서 텍스트를 검색하십시오.grep
사용하는 방법은 무엇입니까?
디렉토리 및 하위 디렉토리 내의 모든 파일에서 특정 문자열을 검색하려면 다음 명령을 사용하십시오.
<code>grep -Rnw '/path/to/dir/' -e 'pattern'</code>
-R
: 상징적 링크를 포함한 재귀 검색을 수행하십시오.-n
: 일치하는 줄 번호를 보여줍니다.-w
: 전체 단어 만 일치시킵니다.-e
: 검색 할 패턴을 지정합니다.grep
검색에 특정 파일 유형을 포함하거나 제외하는 방법은 무엇입니까?
특정 파일 유형을 포함하려면 :
<code>grep --include=\*.{sh,py} -Rnw '/path/to/dir/' -e 'pattern'</code>
특정 파일 유형을 제외하려면 :
<code>grep --exclude=\*.tmp -Rnw '/path/to/dir/' -e 'pattern'</code>
grep
검색에서 특정 디렉토리를 제외하는 방법은 무엇입니까?
특정 디렉토리를 제외하려면 :
<code>grep --exclude-dir={node_modules,dist,logs} -Rnw '/path/to/dir/' -e 'pattern'</code>
-l
옵션을 사용하여 일치하는 파일의 이름 만 표시합니다.
<code>grep -Rlnw '/path/to/documents/' -e 'confidential'</code>
ripgrep
란 무엇이며 왜 그것을 사용해야합니까?
rg
( ripgrep
)는 특히 대규모 프로젝트 및 대규모 파일에서 grep
에 대한 더 빠르고 효율적인 대안입니다. Rust의 정규식 표현 엔진을 기반으로 한 제한된 오토마톤, SIMD 및 공격적인 텍스트 최적화를 사용하여 검색 속도를 향상시킵니다.
ripgrep
사용하여 기본 검색을 수행하는 방법은 무엇입니까?
현재 디렉토리의 모든 파일의 문자열을 검색하려면 다음을 사용하십시오.
<code>rg "pattern" .</code>
ripgrep
매개 변수는 무엇입니까?
-i
: 사례에 민감한 검색을 수행하십시오.-I
: 이진 파일을 무시하십시오.-w
: 전체 단어 만 검색하십시오.-n
: 일치하는 줄 번호를 보여줍니다.-C
또는 --context
: 일치하는 행 주변의 컨텍스트를 보여줍니다 (예 : -C3
경기 전후 3 줄을 보여줍니다).--color=auto
: 일치하는 텍스트를 강조 표시합니다.-H
: 찾은 텍스트의 파일 이름을 표시합니다.-c
: 일치 행의 수를 보여줍니다 ( -H
와 결합 할 수 있음).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에서 Grep 및 Ripgrep을 사용하여 특정 텍스트가 포함 된 파일을 찾는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!