bash - 过滤 `tree` 命令的输出

标签 bash

我有一个包含许多子目录的目录,每个子目录都有很多具有不同扩展名的文件。

我是否可以过滤 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/

相关文章:

bash - 如何完全像在Dockerfile中一样运行Docker cmds

bash - 简单的 Bash 脚本文件复制

bash - 登录远程 ssh 服务器时如何将文件复制到本地计算机

linux - 带有 shellshock 固定 bash 版本的非导入环境变量

bash - 使用 SED 替换 ALT 属性中的字符串

bash - 持久 AWK 程序

linux - 如何将输入管道输入到 linux 上的 sublimetext?

bash - 命令 `source` 在 Dockerfile 中不起作用

android - aapt 不使用绝对路径

Windows 批处理 Do 在这个时候出乎意料