【问题标题】:Bash script to extract directory which contains file with particular extension用于提取包含具有特定扩展名的文件的目录的 Bash 脚本
【发布时间】:2020-02-03 22:48:30
【问题描述】:

所以我有以下文件结构

1. X
   |-a.txt
   |-E
     |- b.txt
   |-B
     |-C
     |-D
       |-c.txt

所以我想编写一个 bash 脚本,它递归地移动到所有子目录并回显包含至少 1 个扩展名为 txt 的文件的路径。因此,上面示例的脚本输出应该是X(因为它包含a.txt)、X/E(因为它包含b.txt)和X/B/D.

还有一个例子。

2.Y
  |-A
  |-B
    |-c.png
    |-C
      |-D
        |-a.txt
  |-E
    |-b.txt

预期输出:- Y/E, Y/B/C/D

我非常感谢您对此的任何帮助。

【问题讨论】:

  • 试试。找到 Y 型 d

标签: bash recursion directory


【解决方案1】:

使用 GNU 查找:

find Y -type f -name "*.txt" -printf "%h\0" | sort -zu | tr '\0' '\n'

输出:

Y/B/C/D 是/否

见:man find

【讨论】:

  • -type不是"d"吗?
  • 我想查找文件并仅输出其路径 (%h)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-08
  • 2017-03-14
  • 2021-05-29
  • 1970-01-01
  • 1970-01-01
  • 2016-01-28
相关资源
最近更新 更多