ls -d *e*
どこかに「e」を含むすべてのファイルを出力します。ただし、その逆で、ls -d *[!e]*
動作しないようです。なぜそれが正確なのですか?
ls
だからです *
を取ります 独自の引数として、すべてのファイルを展開しますか?
できることを理解しています:ls -d !(*e*)
(Bashでextglob
を使用 セット、またはkshで)。
承認された回答:
そのglobが実際に行っているのは、任意の数の文字、次にe以外の単一の文字、次に任意の数の文字を照合することです。完全にeで構成されていない名前のファイルと一致します。