특정 텍스트 문자열을 포함하는 모든 파일을 찾고 싶습니다. 터미널에서 어떻게 하시겠습니까?
특정 텍스트 문자열을 포함하는 모든 파일을 찾고 싶습니다. 터미널에서 어떻게 하시겠습니까?
답변:
grep -r 'text goes here' path_goes_here
man grep
grep의 모든 훌륭한 옵션을 발견 할 것을 제안합니다
No such file or directory
텍스트 발생 목록 만 가져 오려고합니다. 우리는 어떻게 그 목록을 얻을 수 있습니까?
grep -lr "text pattern" ./ -s
; grep -lr "text pattern" [PATH OF PARENT] -s
Ignacio의 답변은 훌륭하며 특정 텍스트가 포함 된 파일을 찾는 데 도움이되었습니다. 내가 직면 한 유일한 문제는이 명령을 실행할 때 패턴이 표시되지 않은 파일을 포함하여 모든 파일이 나열된다는 것입니다.
No such file or directory
이것이 패턴을 포함하지 않는 파일과 함께 보이는 것입니다.
대신 다음 -s
과 같이 명령에 추가하십시오 .
grep -lr "text pattern" ./ -s
; grep -lr "text pattern" [PATH DIRECTORY] -s
패턴이 포함 된 파일 만 표시됩니다.
비슷하게 grep -nr "text pattern" ./ -s
; grep -nr "text pattern" [PATH OF DIRECTORY] -s
명령은 파일과 행 번호 및 패턴 발생을 인쇄합니다.
내 이해가 틀렸다면 저를 시정하십시오.
참조 : grep이 'No such file or directory'오류를 출력하지 않게하려면 어떻게해야합니까?
grep ... 2>/dev/null
. 이 솔루션은 stdout이 아닌 stderr 스트림에 오류 메시지를보고하므로 대부분의 프로그램에서 작동합니다. 많은 파일에 대해 권한이 거부find
되었다고 표시 되므로이 솔루션을 여러 번 사용 했습니다 .
No such file or directory
존재하는 파일에 대한 메시지를 받는 경우 , 무언가 잘못되었거나 시스템이 고장난 것입니다. (2) 무엇 [PATH OF PARENT]
과 관련이 있습니까?
[PATH OF DIRECTORY]
낯선 사람이 내가 왜 넣었는지 알고 싶어하는 경우를 표시하기 위해 답변을 편집했습니다../