第一次来这里,如果我没有以正确的方式问这个问题,请原谅。 我尝试过使用 grep -rL 以及 find 和 xargs 的变体,但没有任何东西能完全满足我的要求。我想确定哪些子文件夹(大约 500 个)没有任何带有字符串“ObjectDate=true”的文件(它们都是 xml 文件)。
谢谢!
感谢您的帮助。也许我可以说得更好。我的一个目录大约有 500 个子文件夹。这些子文件夹没有子文件夹。几乎所有文件夹都包含多个带有字符串“ObjectDate=true”的 xml 文件。我想确定哪些子文件夹不包含任何带有字符串“ObjectDate=true”的 xml 文件。
下面的命令显示哪些文件不包含该字符串。由此产生的结果太多,所以我想知道哪些文件夹没有包含该字符串的文件。
grep -rL "ObjectDate=true"/prod/he/log/dws/Usr//.xml
最佳答案
简单的方法是:
find . -type d -print |
while IFS= read -r dir
do
if ! grep -m1 -q "ObjectDate=true" "$dir"/*.xml
then
echo "$dir"
fi
done
假设目录名称中没有包含换行符。
关于linux - 识别不包含具有特定字符串的文件的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28664012/