#!/bin/bash

du -hsc $(ls -A) | sort -h | while read size name; do
    case $size in
        *[kK]) size_color=32;;  # green
        *[mM]) size_color=33;;  # yellow
        *[gG]) size_color=31;;  # red
        *[0-9]) size_color=34;;  # blue
        *) size_color=0;;  # reset color
    esac

   [ -f ${name} ] && file_color=0 || file_color=34

   echo -e "\e[${size_color}m${size}\e[0m\t\e[${file_color}m${name}\e[0m"
done

