コンテンツ別ファイルリストのフィルタリング

コンテンツ別ファイルリストのフィルタリング

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

代わりに。

関連情報