a1、a2、a3、b1、b2、b3 ファイルを含むディレクトリがあるとします。で始まりますa
が、含めずに一致させたいです3
。試しましたが一致しなかったにもls -I "*3" *a*
返されました。可能ですか?a1 a2 a3
a3
ls
ベストアンサー1
のみ:
shopt -s extglob failglob
ls -d a!(*3*)
shopt -s extglob
拡張ワイルドカードを有効にします(ksh拡張演算子のサブセットを有効にします)。failglob
一致するものがない場合は、グローバルモードをそのままにする代わりにコマンドをキャンセルします。これがa!(*3*)
なければ、呼び出したファイルに3
。a
試合開始a
!()
()
内の一致を否定します。*3*
これ3
とその前後に来るすべて。
$ touch 1 2 3 a1 a2 a3 b1 b2 b3 aa1 aa2 aa3 a2a a3a
$ ls -d a!(*3*)
a1 a2 a2a aa1 aa2