在我的目录层次结构中,我有许多名为 STATUS.txt 的文本文件。这些文本文件每个都包含一个关键字,例如 COMPLETE、WAITING、FUTURE 或 OPEN。我希望执行以下形式的 shell 命令:
./mycommand OPEN
它将列出包含名为 STATUS.txt 的文件的所有目录,其中该文件包含文本“OPEN”
将来我想扩展这个脚本,以便对返回的目录进行排序。排序将由存储在文件 PRIORITY.txt 中的数值决定,该文件与 STATUS.txt 位于同一目录中。但是,这可以等到我的能力水平提高。目前,我很乐意以任何顺序列出目录。
我在 Stack Overflow 上搜索了以下内容,但无济于事:
我尝试了以下 shell 命令:
这有助于我识别包含 STATUS.txt 的所有目录
$ find ./ -name STATUS.txt
Run Code Online (Sandbox Code Playgroud)
这会为包含它的每个目录读取 STATUS.txt
$ find ./ -name STATUS.txt | xargs -I{} cat {}
Run Code Online (Sandbox Code Playgroud)
这不会返回任何文本,我希望它会返回每个目录的名称
$ find . -type d | while read d; do if …Run Code Online (Sandbox Code Playgroud)