小编Ins*_*ere的帖子

在linux中查找包含包含关键字的文件的所有目录

在我的目录层次结构中,我有许多名为 STATUS.txt 的文本文件。这些文本文件每个都包含一个关键字,例如 COMPLETE、WAITING、FUTURE 或 OPEN。我希望执行以下形式的 shell 命令:

./mycommand OPEN

它将列出包含名为 STATUS.txt 的文件的所有目录,其中该文件包含文本“OPEN”

将来我想扩展这个脚本,以便对返回的目录进行排序。排序将由存储在文件 PRIORITY.txt 中的数值决定,该文件与 STATUS.txt 位于同一目录中。但是,这可以等到我的能力水平提高。目前,我很乐意以任何顺序列出目录。


我在 Stack Overflow 上搜索了以下内容,但无济于事:

  • unix 按文件内容过滤
  • linux按文件内容过滤
  • shell遍历目录文件内容
  • bash 遍历目录文件内容
  • shell遍历目录查找
  • bash遍历目录查找
  • linux文件内容目录
  • unix 文件内容目录
  • linux 查找名称内容
  • unix 查找名称内容
  • shell 读取文件显示目录
  • bash 读取文件显示目录
  • bash 目录搜索
  • shell 目录搜索

我尝试了以下 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)

linux directory shell find

5
推荐指数
1
解决办法
2565
查看次数

标签 统计

directory ×1

find ×1

linux ×1

shell ×1