Not: Bu GNU bulması için işe yarayacak, fakat diğerlerinin hepsi bulunmayacak.
find . -maxdepth 1 -size +20M -printf "%T@ %f\n" |
sort -nr | head -n 20 | sed 's/[^ ]\+ //'
@Rajish gibi başlayarak, ancak çıkış biçimini belirtmek için printfkomutunu kullanarak find. Orada 3 zamanla ilgili formatlar şunlardır atime, ctime ve mtime - %Tmtime için olduğu, %Ave %Cdiğer formatlar içindir.
@zaman biçimini dönemden bu yana saniye cinsinden belirtmektir. %fdosya adı için, \n2 dosya arasındaki yeni satır için.
Daha sonra sırayla numaraya göre sıralama, en genç dosyaları verir ve biz de 20 satır alırız head.
Sonunda, sedzaman bilgisini atmak için kullanılır.
¹) headsatır satır çalıştığından, adında 20'den fazla yeni satır bulunan ve biraz sıradışı olan ancak yasaklanmayan tek bir dosya, ilk 20 karşılaşmaya aitse çıktısını bozabilir. Eğer bu tür dosyalara sahipseniz, lütfen onlardan kurtulmaya çalışın - isimlerini değiştirmek için. Genellikle basit scriptler için bir problem olacaktır.
file'ın-lskomutu, özel karakterler ters eğik çizgi bulunan karakterleri olarak basılacaktır:find . -maxdepth 1 -size +20M -printf "%T@ " -ls | sort -nr | head -n 20 | sed 's/[^ ]\+ //'. Ek olarak, biçim gibils -lgözükecek, EoghanM da-lyine belirtilmiş .