Posts

Showing posts with the label awk

Sorted and aggregated disk usage script

I've been asked for this script many times lately, so I'll publish it. It lists the disk usage of subdirectories in a given directory in descending order, right justified and suffixed with kilobytes or megabytes appropriately. #!/bin/sh display() {  local DIR=$1  du -sk $DIR/..?* $DIR/.[!.]* $DIR/* 2>/dev/null |   sort -n |   awk '    {     size = $1;     sum += size;     name = $2;     if ($1 < 1024){      printf("%9ik %s\n",size,name);     } else {      printf("%9.3fM %s\n",size/1024,name);     }    }    END{     print sum " kiB"    }   ' } main() {  local DIR=$1  if [ "$DIR" = "" ]  then   display $HOME   quota  else   display $DIR  fi } m...