我有一个包含许多子目录的目录,每个子目录都有很多具有不同扩展名的文件。
我是否可以过滤 tree
命令的输出,以便具有某些扩展名的文件,例如 .log
和 .msh
或者某些命名目录不在输出中
考虑下面的例子
.
├── dir1
│ ├── bar.log
│ ├── blahblah
│ │ └── blah.txt
│ ├── hello.txt
│ └── test.msh
├── foo.log
├── out
├── test.py
└── test.txt
2 directories, 8 files
我想过滤离开某些目录(显然是他们的内容)和具有某些扩展名的文件。例如,我想过滤掉目录 blahblah
的内容以及所有扩展名为 .msh
和 .log
所以我希望输出是
.
├── dir1
│ ├── hello.txt
├── out
├── test.py
└── test.txt
最佳答案
tree
命令具有 -I
选项,允许您过滤掉与给定模式匹配的文件和目录。
tree -I 'blahblah|*.msh|*.log'
关于bash - 过滤 `tree` 命令的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53800382/