让树仅列出与模式匹配的文件及其包含的目录

让树仅列出与模式匹配的文件及其包含的目录

无论如何,是否有tree这样的行为,当使用该选项运行时-P,它不会输出没有与其中某处模式匹配的文件的目录?

以此目录结构为例:

${DIRECTORY}/
 runtime/
  runtime_library.so
  runtime_library.a
 my_libraries/
  drawing/
   drawing.so
  basic_functions/
   basic.a
 documents/
  manual.txt
 empty/

我想输出tree这个:

${DIRECTORY}/
 my_libraries/
  basic_functions/
   basic.a
 runtime/
  runtime_library.a

答案1

我猜你只想要匹配特定模式的目录,所以你需要这个-P选项,即

tree -P "*.a" --prune

上面将返回包含扩展名的文件的所有目录.a。这的手册页tree可以进一步帮助您。例如,要忽略模式,您可以使用 option -I

--prune选项将抑制目录不包含与模式匹配的文件的树部分的输出。

相关内容