我正在尝试使用tree
打印与给定模式匹配的文件。首先,当前目录的结构如下。
$tree .
.
├── a
├── search.sh
└── test.java
1 directory, 2 files
请注意,a
是一个空目录。
我希望tree
打印与模式*.sh
匹配的所有文件,这就是我尝试过的。
$tree -P "*.sh"
.
├── a
└── search.sh
1 directory, 1 file
我不知道为什么tree
也打印了a
,它是一个目录,与给定的模式不匹配?如何防止它这样做?
答案 0 :(得分:1)
man tree
说:
在默认情况下使用-P和-I选项时,树不会修剪“空”目录。使用--prune选项。
空表示此处不包含匹配文件。
因此,以下方法应该起作用:
tree -P '*.sh' --prune
$ mkdir a
$ touch search.sh
$ touch a/a
$ tree -P '*.sh' --prune
.
└── search.sh
0 directories, 1 file