GNU/Linux >> Linux の 問題 >  >> Linux

`ls -d * [!e] *`は、Eを含むすべてのファイルを省略するのではなく、すべてのファイルを表示しますか?

ls -d *e* どこかに「e」を含むすべてのファイルを出力します。ただし、その逆で、ls -d *[!e]* 動作しないようです。なぜそれが正確なのですか?

lsだからです *を取ります 独自の引数として、すべてのファイルを展開しますか?

できることを理解しています:ls -d !(*e*) (Bashでextglobを使用 セット、またはkshで)。

承認された回答:

そのglobが実際に行っているのは、任意の数の文字、次にe以外の単一の文字、次に任意の数の文字を照合することです。完全にeで構成されていない名前のファイルと一致します。


Linux
  1. 特定の日に変更されたすべてのファイルを取得しますか?

  2. Bash翻訳ファイルにすべてのエラーテキストが含まれていないのはなぜですか?

  3. ディレクトリ内のすべてのファイルを解凍します

  1. シンボリック リンク:このファイルにリンクしているすべてのファイルを検索します

  2. 2 つのファイルを並べて表示する

  3. コマンド「ls -d」でディレクトリが表示されません。ファイルとディレクトリの代わりにディレクトリのみを表示するように「ls」を取得する方法はありますか?

  1. サブディレクトリ内のすべてのファイルをコピーし、上書きする代わりに名前を変更する

  2. x 文字を超える文字列を含むファイルを検索するには、grep を使用しますか?

  3. bzip されていないすべてのファイルを再帰的に bzip2 するにはどうすればよいですか?