web-dev-qa-db-ja.com

拡張子のないすべてのファイルをリストする

拡張子のないディレクトリ内のすべてのファイルを一覧表示したい。

例えば:

$ ls
a.txt    b      c.pdf     d     e.png
$ ls -someOption
b       d

ls -someOptionの代わりに使用できるコマンドは何ですか?

11
NewMrd
shopt -s extglob ## enables extended globbing
ls !(*.*) ## matches every file except those containing a dot

これを実行すると、作業ディレクトリ内のすべてのディレクトリの内容が表示されることがわかります。これが必要ない場合は、次を使用します。

ls -d !(*.*)

shopt -s extglob~/.bashrcに入れて、ターミナルを開くたびにアクティブにすることができます。デフォルトのUbuntu ~/.bashrc(13.04の29行目)にはすでにコメントがあり、コメントを外してこれを有効にできます(およびglobstar)。

シェルのさまざまなグロビングオプションの詳細については、 Gregのwiki を参照してください。これはlsコマンドではなくbashシェルのプロパティであるため、他のコマンドで使用できることに注意してください。

または、次を使用できます

ls --ignore='*.*'

または

ls -I '*.*'

...これは内部lsオプションですが、extglobは任意のコマンドに適用できるため、私の意見ではより便利です。

14
evilsoup

ls | grep -v \\.ls | grep -v "\."の両方が機能します。

9
krowe