uzantısı olmayan dosyaları bul


43

Diyelim ki:

foo.txt
bar
baz.ooo

Eğer kullanırsam ls -1 !(*.*)o zaman sadece barçıktı alırım . Harika, şimdi bulmakla aynı sonuçlara sahip olmak istiyorum - bazıları find -regexişi yapacak.

NOT:

find -name !(*.*)cevap olarak !(*.*)ben hala kullanamayacağım Bash'in glob olduğu gibi değil.

Yanıtlar:


63

şunu kullanabilirsiniz: Bir içeren bir dosya adı burada aşağıdaki ifadeyi, silmektedir ''find . -type f ! -name "*.*"!

-maxdepthArama derinliğini azaltmak için bu seçeneği de kullanabilirsiniz .


1
Cevabınızı en çok seviyorum çünkü benimki dosya isimleri için başka kısıtlamalar içeriyor ve sizinki de kurşun geçirmez.
pawel7318

Bu ls -1 !(*.*)işe yaramazsa da harikadır çünkü !"Etkinlik bulunamadı" yazısını verir.
Noumenon

2
@ Noumenon bunu set +Hçözmek için yapmak
pawel7318

1
Eğer davranırsan .gitignoreuzantısı olmadan bir dosya olarak (düğümü'nü path.extname gibi ()) kullanmak ! -name "?*.*"yerine! -name "*.*"
Johnny Wong
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.