
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
代わりに。