我希望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 w/o扩展:
.
├── 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发布于 2023-06-01 14:36:53
tree实用程序有一个特定的选项-P,用于指定文件名必须匹配的模式才能成为输出的一部分。与-P一起使用的模式类型是shell文件名全局模式,因此需要引用它,以避免shell在命令行中展开它。
tree -P 'hw*' .由于当前目录中不包含任何与*hw匹配的名称(而且您使用的是一个不会抱怨不匹配的全局模式的shell,比如默认情况下的zsh,以及bash使用它的failglob shell选项集时所做的),所以当您尝试使用它时,该模式没有被扩展。但是,该模式只匹配以字符串hw结尾的名称。但是,我无法解释为什么在命令行上使用hw*时会得到这个输出。
示例:
$ tree .
.
├── exp
│ ├── hi
│ └── hw
├── src
│ ├── hi.cpp2
│ └── hw.cpp2
├── ssbuild.bash
├── sslogin.bash
└── tmp
├── hi.cpp
└── hw.cpp
3 directories, 8 files$ tree -P 'hw*' .
.
├── exp
│ └── hw
├── src
│ └── hw.cpp2
└── tmp
└── hw.cpp
3 directories, 3 fileshttps://unix.stackexchange.com/questions/747740
复制相似问题