I'd like to sort all the directories/files in a specific directory based on their size (using du -sh "name").
I need to apply this command to all directories in my location, then sort them based on this result. How can I do that ?
This is an improved version based on jabalv's answer. It works with a GNU as well as a BSD userland.
IFS='\n' du -sk -- * | sort -n | cut -f2 | while read line ; do xargs du -sh "$line" done
4.0K games 2.7M local 6.7M lib32 19M sbin 152M src 177M include 321M bin 2.2G share 2.9G lib
To reverse the sort order and list the largest files and directories first, use