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


11

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

例えば:

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

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


通常、コマンドのオプションを知りたい場合は、ターミナルで「man <command>」と入力して、manページを読みます。manはマニュアル(ヘルプ)の略です。たとえば-man ls
aaditya1234

@AadityaBaggaこの場合、答えはマニュアルにありません。
ウィスバッキー

このシナリオでは.gitignore、拡張機能を検討しますか?
アミットナイドゥ

回答:


14
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は任意のコマンドに適用できるため、私の意見ではより便利です。


1
OPはどのシェルについても言及しませんでしたが、bashが想定されていると思います。kshの場合、extglobは必要ありません。デフォルトでは、次のとおりですls !(*.*)
。– runrig

1
@runrigあなたはまったく正しいですが、質問の基本的な性質を考えると、OPはデフォルトのbashシェルを使用していると仮定しました。
evilsoup

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.