현재 디렉터리와 그 하위 디렉터리에서 "hello"라는 단어가 포함된 일반 파일을 검색해야 합니다.
이것이 나에게 효과가 없는 이유:
find . -type f | grep "hello"
답변1
당신은 파이프를 원한다찾다입력하다매개변수, 결과를 올바르게 읽습니다.찾다:
find . -type f -print0 | xargs grep "hello"
보다xargs(1)자세한 내용은 매뉴얼 페이지를 참조하세요.
답변2
hello
제안한 명령을 사용하면 파일 내용 내의 문자열이 아닌 해당 문자열이 포함된 파일 이름을 찾습니다 . hello
다음 구성을 사용하십시오.
find . -type f -exec grep -n hello /dev/null {} +
답변3
따라서 실제로 명령 -regex
의 옵션을 사용할 수 있습니다 find
.
find . -type f -regex ".*/.*hello.*"
.*hello.*
-- "hello"라는 단어가 포함된 이름과 일치합니다. 명령이 전체 경로를 반환하기 .*/
때문에 필요합니다 .find