나의 일반적인 관행 중 하나는 특정 유형의 모든 파일에 대해 grep을 수행하는 것입니다. 예를 들어 "rumpus"라는 단어가 포함 된 모든 HTML 파일을 찾으십시오. 그것을하기 위해, 나는
find /path/to -name "*.html" | xargs grep -l "rumpus"
간혹 find
이름과 같이 이름이 공백 인 파일을 반환합니다 my new file.html
. 때 xargs
이 전달 grep
하지만, 나는 이러한 오류를 얻을 :
grep: /path/to/bad/file/my: No such file or directory
grep: new: No such file or directory
grep: file.html: No such file or directory
여기서 무슨 일이 일어나고 있는지 알 수 있습니다 : 파이프 또는 xargs
은 공백을 파일 사이의 구분자로 취급합니다. 그러나 내 인생에서는이 행동을 막는 방법을 알 수 없습니다. find
+로 할 수 있습니까 xargs
? 아니면 완전히 다른 명령을 사용해야합니까?