Linux에서 특정 텍스트가 포함된 파일 찾기
사용하는 배포판에 관계없이 Linux에는 파일 검색을 허용하는 여러 GUI 도구가 함께 제공됩니다. 많은 최신 파일 관리자는 파일 목록에서 바로 파일 검색을 지원합니다. 그러나 SSH 세션 중이나 X 서버가 시작되지 않는 경우와 같이 콘솔을 사용해야 하는 상황이 많이 있습니다. 다음은 터미널을 사용하여 특정 텍스트가 포함된 파일을 빠르게 찾는 방법입니다.
GUI를 사용할 수 있다면 파일 검색은 문제가 되지 않습니다. 내가 좋아하는 XFCE 데스크탑 환경에서 Thunar 파일 관리자를 사용하면 파일 목록에 파일 이름을 직접 입력하여 파일을 검색할 수 있습니다.
그러나 내가 시도한 파일 관리자 중 어느 것도 파일 내용 검색을 허용하지 않습니다.
GUI 세션에서 작업할 때 이 제한을 우회하려면 Сatfish를 사용할 수 있습니다. Сatfish는 인기 있는 검색 도구입니다. 파일 내용을 검색할 수 있습니다. 톱니바퀴 아이콘을 클릭하고 옵션을 활성화해야 합니다. 파일 내용 검색.
그러나 터미널의 경우 그래픽 도구를 사용할 수 없습니다. 또한 나는 Catfish가 유용하지 않으며 그보다 고전적인 콘솔 도구를 선호합니다. 다음은 내가 사용하는 방법과 도구입니다.
Linux에서 특정 텍스트가 포함된 파일을 찾으려면, 다음을 수행합니다.
- 좋아하는 터미널 앱을 엽니다. XFCE4 터미널 제 개인적인 취향입니다.
- 다음 명령을 입력합니다.
find ./ -type f -exec grep -l "찾을 텍스트" {} \;
- 그러면 필요한 텍스트 부분이 포함된 파일 목록이 생성됩니다.
find 명령은 현재 디렉토리 "./"에서 시작하는 파일을 검색합니다. 대신 원하는 경로를 지정할 수 있습니다.
옵션 -유형 f 파일만 검색하고 디렉토리를 제외하도록 지시합니다. 또한 다음과 같이 옵션을 추가하여 특정 파일 형식만 검색하도록 할 수 있습니다.찾기 ./ -type f -iname "*.txt" -exec grep -l "찾을 텍스트" {} \;
다음 스크린샷을 참조하세요.
NS -실행 옵션은 일치하는 각 파일에 대해 grep 도구를 호출하여 내용을 확인합니다. 파일에서 텍스트가 발견되면 그 이름이 출력에 추가됩니다. -l 옵션.
대안
위에서 설명한 방법에 대한 대안이 있습니다. 우선, 당신은 만 사용할 수 있습니다 그렙 도구. 다음 명령을 시도하십시오.
grep -iRl "찾을 텍스트" ./
- -i는 텍스트 대소문자 무시를 나타냅니다.
- -R은 재귀 파일 처리를 나타냅니다.
- -l은 "결과 자체가 아닌 파일 이름 표시"를 나타냅니다.
보시다시피, 이 방법은 보다 덜 유연합니다. 찾기 명령.
미드나잇 커맨더
내가 자주 사용하는 또 다른 방법은 콘솔 파일 관리자 앱인 Midnight Commander(mc)입니다. find 또는 grep과 달리 mc는 내가 시도한 모든 Linux 배포판에 기본적으로 포함되어 있지 않습니다. 직접 설치해야 할 수도 있습니다.
Midnight Commander를 사용하여 특정 텍스트가 포함된 파일을 찾으려면 앱을 시작하고 키보드에서 다음 순서를 누르십시오.
Alt + 옮기다 + ?
검색 대화 상자가 열립니다.
"파일 이름:" 섹션을 입력합니다. "*.txt"와 같은 것을 지정하여 텍스트 파일에서만 텍스트를 검색할 수 있습니다.
이제 다음을 채우십시오. 콘텐츠: 상자. 파일에 포함된 텍스트를 입력하고 Enter 키를 누르십시오.
기준과 일치하는 모든 파일을 찾습니다.
그게 다야