foo
새 줄로 구분된 파일 목록을 출력하는 명령을 받았습니다 .
정규식을 사용하여 콘텐츠별로 이러한 파일을 필터링하고 필터링된 파일 목록을 출력하려면 어떻게 해야 합니까?
답변1
시스템에 GNU가 있으면 xargs
다음을 수행할 수 있습니다.
foo | xargs -d '\n' grep -l regex
답변2
그리고 bash
:
foo |
while IFS= read -r file; do
grep -qE "$regex" "$file" && printf '%s\n' "$file"
done
grep
이해가 안되면 사용해 -q
도 됩니다.
grep -E "$regex" "$file" >/dev/null 2>&1
대신에.