หากต้องการแสดงรายการไฟล์ที่ต้องการภายใต้/tmp
จัดเรียงตามขนาด:
find /tmp -type f -exec du -k {} + | sort -k1n -k2
หากต้องการแสดงรายการไฟล์และแผนผังไดเร็กทอรีภายใต้ทันที/tmp
ให้เรียงตามขนาด:
du -k /tmp/..?* /tmp/.[!.]* /tmp* 2>/dev/null | sort -k1n -k2
หากต้องการแสดงรายการไฟล์และแผนผังไดเรกทอรีทั้งหมดที่ใดก็ตามภายใต้/tmp
ให้เรียงตามขนาด:
du -ak /tmp | sort -k1n -k2
(ตัวอย่างเพื่อแสดงให้เห็นถึงความแตกต่างระหว่างคำสั่งทั้งสาม: หากมีไฟล์/tmp/dir/file
รายการคำสั่งแรกรายการ/tmp/dir/file
ที่สอง/tmp/dir
และรายการที่สามทั้งสอง)
คำสั่งทั้งหมดข้างต้นแสดงขนาดเป็นกิโลไบต์ ในขณะที่ GNU du สามารถส่งออกขนาด "มนุษย์อ่านได้" (พร้อมตัวคูณ k, M, G, ฯลฯ ) การเรียงลำดับเป็นอีกเรื่องหนึ่ง ล่าสุด coreutils GNU พอ (≥7.4) สามารถทำมันได้เพียงแทนที่du -k
ด้วยdu -h
และมีsort -k1n -k2
sort -k1h -k2
มิฉะนั้นนี่คือสคริปต์ raw awk ที่จะแปลงเป็นขนาดที่ต่อท้าย (ปัดเศษลง); เพียงsort
เอาท์พุทข้างบนเข้าไปในนั้น
awk -vFS='\t' -vOFS='\t' '{
if ($1) $1 = substr($1,1,(length($1)-1)%3+1)
substr("kMGTPEZY",(length($1)-1)/3+1,1);
print}'