Bir dizinde uzantıları olmayan tüm dosyaları listelemek istiyorum.
Örneğin:
$ ls
a.txt b c.pdf d e.png
$ ls -someOption
b d
Bunun yerine hangi komutu kullanabilirim ls -someOption?
.gitignorebir uzantı düşünüyor musunuz?
Bir dizinde uzantıları olmayan tüm dosyaları listelemek istiyorum.
Örneğin:
$ ls
a.txt b c.pdf d e.png
$ ls -someOption
b d
Bunun yerine hangi komutu kullanabilirim ls -someOption?
.gitignorebir uzantı düşünüyor musunuz?
Yanıtlar:
shopt -s extglob ## enables extended globbing
ls !(*.*) ## matches every file except those containing a dot
Bunu yaptığınızda, çalışma dizinindeki her dizinin içeriğini göstereceğinizi göreceksiniz. Bunu istemiyorsanız, şunu kullanın:
ls -d !(*.*)
Sen koyabilirsiniz shopt -s extglobGözlerinde farklı ~/.bashrcbir terminale açtığınızda aktive olması. Varsayılan Ubuntu'da ~/.bashrcbunu (13.04'te benim için 29. satır) zaten etkinleştirebileceğiniz bir satır (ve globstar) var.
Kabuğun çeşitli globbing seçenekleri hakkında daha fazla bilgi için Greg'in wiki'sine bakın . Bunun lskomut yerine bash kabuğunun bir özelliği olduğunu unutmayın , böylece diğer komutlarla kullanabilirsiniz.
Alternatif olarak,
ls --ignore='*.*'
veya
ls -I '*.*'
... bu bir iç lsseçenektir, ancak extglob herhangi bir keyfi komuta uygulanabilir ve bu yüzden bence daha kullanışlıdır.
ls !(*.*)