이 작업을 수행할 수 있는 기존 방법이 있는지 또는 완전한 스크립트가 필요한지 알아보려고 합니다.
고유한 파일에 대해 true 또는 yes를 반환하는 것에 대한 스레드만 찾았습니다. 파일을 인쇄하면 grep
파일 이름에 대한 정보가 삭제됩니다.
답변1
@steeldriver가 지적했듯이 -l
이 옵션은 grep
가장 짧은 솔루션입니다.
grep -l Pattern Directory
출력에 주어진 Pattern
.
답변2
목록인 경우 목록을 읽을 수 있고, 디렉터리인 경우 파일을 반복할 수 있습니다.
while read -r file; do
grep -q PATTERN "$file" && echo "$file contains PATTERN"
done < file.txt
패턴 및 grep 호출을 추가하거나 if 문을 사용할 수 있습니다.
for file in ./*; do
grep -q PATTERN "$file" && echo "$file contains PATTERN"
done
파일에 대해서만 grep에 테스트를 추가하고 더 많은 grep을 추가하거나 루프 내에서 if 문을 사용할 수 있습니다. 루프는 재귀적이지 않으므로 쉘 와일드카드를 사용해야 합니다.글로벌 스타아마도빈 공. 실용적인 사항찾다제가 아는 한 더 빨리 처리할 수 있습니다. 물론 위의 해결 방법을 사용하려면 파일과 동일한 디렉터리에 있어야 합니다.