2

次のコードがあります。

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

その意図は、ファイル終了の場合とは無関係にいくつかのイメージ ファイルをリストすることでした。

しかし、末尾が大文字のファイルをリストしないため、私のコードは機能していないようです。誰かが上記のコード例で私のエラーを説明できますか?

前もって感謝します。

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.4GlobbingFlagsを参照するか、と入力しman zshexpnます。

そしてあなたが望む:*.(#i)(jpg|gif|etc)

于 2012-06-04T20:59:27.487 に答える