zsh中不区分大小写的glob列表

时间:2012-06-04 20:55:13

标签: zsh

我有以下代码:

    $ print -l backgrounds/**/*.((#i)jpg|jpeg|gif|webp|png|svg|xcf|cur|ppm|pcd)

目的是列出文件终止案例的一些图像文件indifernet。

但是我的代码似乎无法正常运行,因为不会列出大写字母结尾的文件。 有人可以在上面的代码示例中解释我的错误吗?

提前致谢。

2 个答案:

答案 0 :(得分:5)

您需要#i才能应用于所有内容,而不仅仅是jpg。您可以使用:

$ print -l backgrounds/**/*.(#i)(jpg|jpeg|gif|webp|png|svg|xcf|cur|ppm|pcd)

确保您也完成了:

set -o extended_glob

答案 1 :(得分:4)

请注意,使用#i要求在脚本/ shell中设置EXTENDED_GLOB

setopt EXTENDED_GLOB

请参阅docs 1.8.4 Globbing Flags 部分,或输入man zshexpn

你想要:*.(#i)(jpg|gif|etc)