我想tree
在子目录中显示 hw 文件,如下所示:
.
├── exp
│ └── hw
├── src
│ └── hw.cpp2
└── tmp
└── hw.cpp
$ /usr/bin/tree --noreport .
显示所有文件:
.
├── exp
│ ├── hi
│ └── hw
├── src
│ ├── hi.cpp2
│ └── hw.cpp2
├── ssbuild.bash
├── sslogin.bash
└── tmp
├── hi.cpp
└── hw.cpp
/usr/bin/tree --noreport -P *hw .
没有hw
扩展名:
.
├── exp
│ └── hw
├── src
└── tmp
/usr/bin/tree --noreport -P hw* .
产生:
.
├── exp
├── src
└── tmp
版本信息/usr/bin/tree --version
:
tree v2.1.0 © 1996 - 2022 by Steve Baker, Thomas Moore, Francesc Rocher, Florian Sesser, Kyosuke Tokoro
该
tree
实用程序有一个特定的选项-P
,用于指定文件名必须匹配才能成为输出一部分的模式。使用的模式类型-P
是 shell 文件名通配模式,因此,需要引用它以避免 shell 在命令行上扩展它。由于您当前的目录不包含任何名称匹配
*hw
(并且由于您使用的 shell 不会抱怨不匹配的 globbing 模式,就像zsh
默认情况下那样,就像bash
使用其failglob
shell 选项集一样),模式是' 在您尝试使用它时展开。但是,该模式仅匹配以string结尾hw
的名称。但是,我无法解释为什么hw*
在命令行上使用时会得到该输出。例子: