Bul file - / + size hariç * .filetype


1

Uzantı veya daha fazlası olan dosya adları hariç tüm dosyaları boyuttan daha az bulabilen bir şey yapmanın bir yolunu arıyorum. Birden fazla olabilir.

find . -type f -size -20M -name /! -name *.mp3 -delete

Çevrimiçi bulduğum bazı şeylerden aradığım şey olacağını düşündüm ama işe yaramadı. Neredeyse bunu arıyorum

find . -type f -size -/+ size (except) *.ext -delete

Ne düşünüyorsun?

Yanıtlar:


0

! o find değil Şebeke. Bu nedenle sonuçlarda .ext ile biten dosyaları hariç tutmak için terimi ekleyin ! -name \*.ext.

Dosya boyutu gibi sayısal değişkenler için + anlamına geliyor daha büyük ve bir öneki - anlamına geliyor daha az . Bu yüzden, 12 kilobayttan (gerçekten kibibitten) daha büyük ve 500 Megabayttan (gerçekten Mebibitten) daha küçük bir dosya bulmak için, terimleri -size +12k ve -size -500M.

İkinci örnek daha sonra böyle bir şey olurdu.

find . -type f -size +12k -size -500M ! -name \*.ext -delete

Çok teşekkür ederim. Bir klasörü benim için otomatik olarak temizlemek için kullanıyorum. bu yüzden birden fazla uzantı silmek istemezseniz bulunacaktı. tipi f büyüklüğü + 12k büyüklüğü -500M! -adı * .ext * .ext -delete
— natethegreat141990

Bir veya daha fazla uzantıya sahip bir dosya adı en az bir nokta içeriyor; *.*. İki veya daha fazla uzantıya sahip bir dosya adı en az iki nokta içeriyor, böylece kalıba uyuyor *.*.*. Her uzantının en az bir karakter içerdiğinden emin olmak istiyorsanız, bu modelleri *.?* ve *.?*.?*, sırasıyla. Bu gerçekten uğraştığınız dosya adlarına bağlıdır. Bir dosya grubunu diğerinden ayırmak için gerekenden daha karmaşık bir kalıp istemiyorsunuz. Ve elbette herhangi bir şeyi silmek için kullanmadan önce test edin.
— garyjohn

üzgünüm, aralarında boşluk var. * .Ext ve * .ext? Anlamına geliyordu.
— natethegreat141990

Yalnızca uzantısı olan dosyaları silmek istiyorsanız, değil .ext ve olduğu değil .ext?, sonra kullanabilirsin find ... ! -name \*.ext ! -name \*.ext\\? -delete. Bu uzantı gerçekten bir soru işareti içeriyorsa, soru işaretinin görünmesi için soru işaretinden kaçılması gerektiğini unutmayın. find değişmez bir soru işareti ve "herhangi bir tek karakter" sembolü olarak değil.
— garyjohn
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.