我有以下代码:
$ print -l backgrounds/**/*.((#i)jpg|jpeg|gif|webp|png|svg|xcf|cur|ppm|pcd)
目的是列出文件终止案例的一些图像文件indifernet。
但是我的代码似乎无法正常运行,因为不会列出大写字母结尾的文件。 有人可以在上面的代码示例中解释我的错误吗?
提前致谢。
答案 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)