![在树上/通过树查找文件](https://linux22.com/image/1027575/%E5%9C%A8%E6%A0%91%E4%B8%8A%2F%E9%80%9A%E8%BF%87%E6%A0%91%E6%9F%A5%E6%89%BE%E6%96%87%E4%BB%B6.png)
我很喜欢树但是,我想将它与 find 之类的东西结合起来......特别是,我希望能够将一些要查找的文件作为参数传递给它(或类似的脚本),例如,*.c
这样它只打印以 .c 结尾的文件和指向它们的路径。
因此,如果我们tree
返回:
.
├── bar
│ ├── b.c
│ └── c.py
└── foo
└── a.py
然后tree -find "*".c
应该返回
.
└── bar
└── b.c
是否有一个参数允许这样做tree
?如果没有,如何实现?
答案1
对于您描述的情况,可以使用tree
命令自己的模式匹配选项来实现。例如给定
$ tree dir
dir
├── bar
│ ├── b.c
│ └── c.py
└── foo
└── a.py
2 directories, 3 files
然后
$ tree -P '*.c' --prune dir
dir
└── bar
└── b.c
1 directory, 1 file
注意模式的引用'*.c'
,以防止 shell 将其扩展为当前目录中匹配文件的列表。