如何在树中排除多个文件扩展名?

哈格伯·席琳(Hagbard Celine)

使用tree命令时,我想从输出中排除清单*.png清单*.svg问题是我尝试的每个括号扩展都不起作用。是因为树如何处理命令行参数?

tree -I *.{svg,png}
tree -I '*.{svg,png}'
tree -I '{*.svg,*.png}'
tree -I '{*.svg,*.png}'
tree -I '*.{p,s}(v,n}g'
tree -I '*.{svg|png}'

眼镜:

  • GNU bash,版本4.4.23
  • 树v1.7.0
阿蒂

-I是...的反面-P...该手册提供了有关后者可以接受的更多信息:

https://linux.die.net/man/1/tree

-P pattern

仅列出与通配符模式匹配的文件。

注意:您必须使用该-a选项还必须考虑以点开头的那些文件,以.进行匹配。

有效的通配符运算符是*(任何零个或多个字符),?(任何单个字符),[...](在括号之间列出的任何单个字符-(用于字符范围的可选(破折号):ex:)[A-Z][^...](未在括号中列出的任何单个字符) )并|分隔备用模式。

没有提到shell的括号扩展语法{a,b}...。此扩展由tree而不是来处理bash

不幸的是,您不能指定-I多次...

相反,您需要使用竖线(|列出完整模式以将它们分开:

tree -I '*.svg|*.png'

请注意使用单引号来防止外壳扩展星号(*)或变量(由美元-引起$)。


还要注意,甚至不可能强制外壳的支撑扩展,如下所示:

$ tree -I '*.'{svg,png}
+ tree -I '*.svg' '*.png'
*.png [error opening dir]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从JGit的diff目标中排除多个文件扩展名

如何从os.walk中排除文件扩展名

如何从递归文件复制中排除特定扩展名?

如何从IntelliJ IDEA搜索中排除文件扩展名?

如何从索引中排除某些文件和扩展名?

如何在Visual Studio Code Explorer中排除某些文件扩展名

如何在 Sublime Text 3 中排除没有扩展名的文件?

从 PS 中的输出文件中排除扩展名?

从我的preg_match中排除文件扩展名

在PowerShell备份脚本中排除某些文件扩展名

批处理:如何从文本文件的目录路径中排除带有扩展名的文件名?

如何cp多个文件扩展名?

如何更改多个文件的扩展名?

如何从.gitignore子文件夹中排除所有扩展名(但不包括PHP和JS)?

在Java中排除文件名过滤器中的扩展名

如何在VSCode树视图中隐藏具有特定扩展名的文件

FileUtils.listFiles从列表中排除特定的文件扩展名

删除php / html扩展名,并从规则中排除一个特定文件

c#从foreach语句中排除文件扩展名

如何在Perl中验证给定文件扩展名是否存在多个文件

如何在XP中更改多个文件的文件扩展名?

如何在Windows中使用ExifTool为多个文件添加缺少的文件扩展名

通过通配符排除文件扩展名

如何在 Kotlin 中排除多个 Spring 配置文件?

如何使用文件扩展名的多个条件搜索文件

如何在多个子目录中使用python向文件添加扩展名

如何在具有多个扩展名的javascript中打开文件?

如何在shell上对具有不同扩展名的多个文件执行命令?

如何在Windows 8中搜索多个文件扩展名?