在 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'

相关内容