sort | head
Bugüne kadar temiz ve sağlam bir yol var :
ls -l
Güzel baskı için kullanma
find . ! -type d -printf "%T@ %p\0" |
sort -zrn |
head -zn 10 |
sed -z 's/^[0-9.]\+ //' |
xargs -0 ls -lt
Bir bash işlevi olarak:
findByDate() {
local humansize=''
[ "$1" = "-h" ] && humansize='h' && shift
find . ${2:-! -type d} -printf "%T@ %p\0" |
sort -zrn |
head -zn ${1:--0} |
sed -z 's/^[0-9.]\+ //' |
xargs -0 ls -dlt${humansize}
}
Bu, bir veya iki argümanla veya hatta onsuz çalıştırılabilir.
Usage: findByDate [-h] [lines] [find options]
Numune:
findByDate
Dizine göre olmayan tüm dizinleri listeler . Nota:
Büyük dosya sistemi ağacında bile, xargs
alıcının zaten sıralanan bir listesi ls
olması halinde , birçok kez çalıştırılsa bile dosya sırası doğru kalır .
findByDate -h 12
Boyutları insan tarafından okunabilir biçimde basılmış, tarihe göre sıralanmış dizin olmayan 12 daha fazla tekrar listelenir
findByDate 42 '-type l'
42 daha fazla tekrarlananları listeleyecek listeler
findByDate -0 '( -type l -o -type b -o -type s -o -type c )'
Tüm sembolik bağlantıları, blok cihazlarını, soketleri ve karakter cihazlarını tarihe göre sıralayarak listeler.
Ters sipariş
Yerine head
göre tail
ve anahtarı değiştirmek sort
ve ls
:
findByDate() {
local humansize=''
[ "$1" = "-h" ] && humansize='h' && shift
find . ${2:-! -type d} -printf "%T@ %p\0" |
sort -zn |
tail -zn ${1:-+0} |
sed -z 's/^[0-9.]\+ //' |
xargs -0 ls -dltr${humansize}
}
Aynı fonksiyon, aynı kullanım:
Usage: findByDate [-h] [lines] [find options]