2

我有以下代码:

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

目的是列出文件终止情况下的一些图像文件indifernet。

但是我的代码似乎不起作用,因为不会列出以大写结尾的文件。有人可以在上面的代码示例中解释我的错误吗?

提前致谢。

4

2 回答 2

5

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

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

确保您还完成了:

set -o extended_glob
于 2012-06-04T21:20:28.480 回答
4

请注意,使用#i需要EXTENDED_GLOB在您的脚本/外壳中设置:

setopt EXTENDED_GLOB

请参阅文档,第1.8.4 节 Globbing Flags或 type man zshexpn

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

于 2012-06-04T20:59:27.487 回答