linux - 识别不包含具有特定字符串的文件的文件夹

标签 linux search grep find

第一次来这里,如果我没有以正确的方式问这个问题,请原谅。 我尝试过使用 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/

相关文章:

javascript - 使用 byref 传递的数组

Linux bash 脚本运行不正确,但在命令行运行时一切正常

linux - 什么是检查内核空间和用户空间内存使用的linux命令行

python - 使用 python-gstreamer 指定声卡

ios - SQLite 中的越南语 Unicode 文本搜索

arrays - 在给定数组中查找整数序列

linux - 从输入文件 linux 的列中计算特定数字

linux - 在 Clearcase 中查找最近的 checkout 并将文件路径提供给 xlsvtree 以查看文件历史记录

python - 在 Linux 中调试从另一个 C++ 应用程序启动的 python 脚本

linux - 是否可以抓取 wget 的最后一行?