ZSHワイルドカード表現は冗長サポートを制限しますか?

ZSHワイルドカード表現は冗長サポートを制限しますか?

ZSHワイルドカード式に冗長制約を組み込む方法があるかどうかを知っている人はいますか?

たとえば、「ABC」で始まり、後に1つ以上の数字が続くすべてのファイルを一致させるには、grep oneを使用して次のようにします。

ls | grep -e "ABC[0-9]\+"

ZSH glob文字列を使用してこれを直接実行する方法はありますか?おおよそ次のようになります。

ls "ABC[0-9]\+"

私は探索しましたZSHドキュメント似たようなものを検索しましたが、今までそのようなサポートが見つかりませんでした。

これが可能かどうかを知っている人はいますか?

ベストアンサー1

はい、次の##項目が1つ以上の一致に使用されます[0-9]

ABC[0-9]##

このextendedglob値を設定する必要があり、デフォルト値で十分です。設定されていない場合は、まず設定してください。

setopt extendedglob

例:

% print -l ABC*
ABC
ABC75475
ABC8
ABC90

% print -l ABC[0-9]##
ABC75475
ABC8
ABC90

おすすめ記事