Bir dizindeki tüm dosyaları boyuta göre nasıl sıralayabilirim?


48

Dosyaları, okunabilir boyutlarına göre sıralanan ve en büyüğünden en küçüğüne kadar olan bir unix dizininde nasıl görüntüleyebilirim?

denedim

du -h | sort -V -k 1 

ama işe yaramadı.


Lütfen alt dizin boyutlarının çıktıda görünmesini beklediğinizi ve ayrıca dosyaların görünen boyutunu veya diskte kullandıkları gerçek boyutu aradığınızı açıklayabilir misiniz?
jlliagre

Yanıtlar:



33
$ ls -lhS

-l     use a long listing format
-h     with -l, print sizes in human readable format (e.g., 1K 234M 2G)
-S     sort by file size

16

Uygun sortsürüme sahipseniz, basitçe kullanabilirsiniz:

du -h | sort -rh

benimki

$ sort --version
sort (GNU coreutils) 8.12

4

ls -SOS için benim için bir seçenek değildi. Aşağıdakiler işe yaradı:
ls -l | sort -k 5nr
Onlar "anahtar", sıralanacak sütunu belirtmekti ("anahtar" ı al). Yukarıda , 5 nolu sütunda, azalan sırada (n) sayı (n) olarak değerlendirilen, boyut (5) olan-k 5nr anlam sıralama belirtiyorum.

Daha fazla bilgi için başvuru sıralama dokümantasyonu


4

du -ha | sort -h

du : dosya disk kullanımını tahmin et.

-h : for human
-a : all files

sort : metnin satırlarını sırala.

-h : for human

man du; man sortdaha fazlası için. Ubuntu v15 benim için çalışıyor.


1

Bunu benim için çalışmasını sağladım:

ls -l | sort -g -k 5 -r

Hangi (sadece anladım) aynıdır:

ls -lS

0

Aksine ls -S, bu seyrek dosyaları düzgün bir şekilde işler:

ls -lsh | sort -n | sed 's/^[0-9 ]* //'
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.