Bashでフォルダを繰り返して、キーワードを含まないファイルを含むフォルダを見つけて一覧表示しますか?

Bashでフォルダを繰り返して、キーワードを含まないファイルを含むフォルダを見つけて一覧表示しますか?

何千ものフォルダを繰り返しながら、名前付きファイルがoutput(foldernumber).txt含まれていて、どの出力ファイルにキーワードが含まれていないかを確認し、スクリプトでこれらの出力ファイルのリストを作成して追加の作業を実行したいと思います。

これが私が今まで持っているものです:

a=1
b=1
for i in ~pwd ;do
(cd $i/ && grep -L 'keyword' output"$a".txt >> ../list.txt)
a=$((a+b))
done

提供されたエラーは、出力ファイルが存在せず、空のlist.txtファイルが生成されたことを示します。どんな提案がありますか?

ベストアンサー1

find . -type f -regex ".*/output[0-9]*\.txt" -exec grep -L 'keyword' '{}' +

または

 find . -type f -regex ".*/output[0-9]*\.txt" -print0 | xargs -0 grep -L 'keyword'

おすすめ記事