เปิด Terminal, cd ไปยังโฟลเดอร์ที่คุณต้องการวิเคราะห์และใช้คำสั่งนี้:
find . -type f -print0 | xargs -0 ls -l | sort -k5,5rn
ควรพิมพ์รายการไฟล์ทั้งหมดในลำดับชั้นเรียงตามขนาด อย่างน้อยในเครื่องของฉันซึ่งไม่ใช่ Mac แต่เป็น Unix อื่น ๆ แต่ในหลักการมันควรจะเหมือนกัน
ขอบคุณ Richard Hoskins สำหรับข้อผิดพลาดที่มีช่องว่างในชื่อ ที่จริงแล้วเป็นคุณลักษณะใน xargs ดูเว็บไซต์นี้ที่มีการอธิบายค่อนข้างดี เวอร์ชั่นด้านบนควรใช้งานได้แล้ว
แก้ไข
นี่คือคำอธิบายวิธีการใช้งานคำสั่ง:
หา ==> ค้นหารายการจากไดเรกทอรีการทำงานปัจจุบัน "."
-type f ==> ค้นหาไฟล์ปกติ
-print0 ==> พิมพ์ชื่อไฟล์แบบเต็มให้หมดโดยลงท้ายด้วยอักขระ null แทนการขึ้นบรรทัดใหม่ (นี่คือการจัดการชื่อไฟล์ด้วยการขึ้นบรรทัดใหม่และช่องว่างสีขาวโดย xargs)
xargs ==> execute command xargs (ดำเนินการคำสั่งสำหรับทุกบรรทัดในมาตรฐานใน)
-0 ==> ตัวคั่นบรรทัดเป็นอักขระ null
ls -l ==> คำสั่งสำหรับ xargs เพื่อดำเนินการ วิธีนี้เราจะได้รับรายละเอียดโดยเฉพาะขนาดของไฟล์
sort ==> เรียงลำดับบรรทัดมาตรฐานใน
-k5,5rn ==> นิยามฟิลด์เรียงลำดับเริ่มต้นที่ฟิลด์ 5 (ค่าดีฟอลต์ตัวคั่นว่างเปล่า) และสิ้นสุดที่ฟิลด์ 5 นั่นคือฟิลด์ขนาดในจอแสดงผล ls -l r หมายถึงการเรียงลำดับแบบย้อนกลับเพื่อให้ไฟล์ที่ใหญ่ที่สุดอยู่ด้านบนและ n หมายถึงการเรียงลำดับตัวเลข