
Linux에서 특정 텍스트가 포함된 모든 파일을 찾는 방법
이 튜토리얼은 명령줄을 사용하여 Linux에서 특정 문자열을 포함하는 파일을 재귀적으로 검색하는 방법을 알려줍니다. 이 자습서에서는 'grep' 명령을 사용하여 파일에서 문자열을 검색합니다. 또는 find command을 사용하여 특정 콘텐츠가 있는 파일을 찾을 수 있습니다. grep 명령으로 텍스트 검색을 위한 기본 구문:grep -rl "search-string"/path/to/serch/dir1grep -rl "search-string"/path/to/serch/dir grep 명령은 파일 시스템에서 특정 텍스트를 찾기 위한 다른 유용한 옵션을 제공합니다. . . . grep 명령을 사용하여 텍스트를 검색하는 방법에는 여러 가지가 있습니다. 파일 시스템에서 텍스트/문자열을 검색하는 몇 가지 예를 살펴보겠습니다.
모든 파일에서 단일 문자열 검색 아래 예제 명령은/var/log 디렉토리 및 그 하위 디렉토리에 있는 모든 파일에서 "Error"문자열을 검색합니다.
명령줄을 사용하여 모든 파일에서 특정 텍스트 검색
모든 파일에서 여러 문자열 검색
명령줄을 사용하여 모든 파일에서 여러 문자열 검색
특정 파일에서 문자열 검색 파일 이름 기준과 일치하는 파일에서 문자열을 검색할 수 있습니다. 다음 명령은/var/log 디렉토리와 그 하위 디렉토리에서 확장자가 .log인 파일에서 "오류"를 검색합니다.
검색에서 일부 파일 제외 찾기에서
검색에서 일부 디렉토리 제외 특정 디렉토리 검색을 건너뛸 수도 있습니다. 예를 들어, 이름에 apache2가 포함된 모든 폴더에서 문자열 파일을 검색하지 마십시오.
-r, --recursive
: 재귀적으로 파일 검색 -R, --dereference-recursive
: 파일을 재귀적으로 검색하고 심볼릭 링크를 따릅니다. --include=FILE_PATTERN
: FILE_PATTERN과 일치하는 파일만 검색 --exclude=FILE_PATTERN
: FILE_PATTERN과 일치하는 파일 및 디렉토리를 건너뜁니다 --exclude-from=FILE
: FILE의 파일 패턴과 일치하는 파일을 건너뜁니다 --exclude-dir=PATTERN
: PATTERN과 일치하는 디렉토리는 건너뜁니다. -L, --files-without-match
: 일치하지 않는 파일 이름 인쇄-l, --files-with-matches
: 파일 이름만 포함하는 문자열 인쇄-i, --ignore-case
: 검색 문자열의 대소문자 무시 -e, --regexp=PATTERN
: 패턴을 사용하여 여러 검색 문자열을 검색하거나 지정합니다-w, --word-regexp
: 전체 단어를 강제로 일치시킵니다. grep -rlw "Error" /var/log

-e
스위치를 사용하여 여러 문자열을 찾을 수도 있습니다. 이것은 egrep
프로그램과 비슷합니다. 아래의 예는/var/log 디렉토리와 그 하위 디렉토리의 모든 파일에서 "Error"와 "Warning"을 찾습니다. grep -rlw -e "Error" -e "Warning" /var/log

grep -rlw --include="*.log" -e "Error" /var/log
--exclude
옵션을 사용하여 특정 파일 이름 기준과 일치하는 일부 파일을 제외할 수 있습니다. 예를 들어 확장자가 .txt인 파일을 제외할 수 있습니다. grep -rlw --exclude="*.txt" -e "" /var/log
grep -rlw --exclude-dir="*apache2*" -e "" /var/log