diff --git a/dus b/dus index 01d2d26..dea4b62 100755 --- a/dus +++ b/dus @@ -1,19 +1,38 @@ #!/bin/bash #Создан: Пт 26 фев 2016 21:32:55 -#Изменён: Пт 26 фев 2016 21:33:31 +#Изменён: Чт 30 июл 2020 22:29:27 #- Вывод размера файлов в отсортированном виде -\du -smc "$@" | sort -gr | awk '{ - if ($1 > 1024) { - printf("%s%10sG","'$red'",sprintf("%.2f",$1/1024)) - } else if ($1 > 1) { - printf("%s%10sM","'$yellow'",$1) - } else { - printf("%s%10sM","'$blue'","~"$1) +rstc="\033[00m" + +\du -sh -- "$@" | sort -rh | awk ' + BEGIN { + blue="\033[1;36m" + green="\033[1;32m" + red="\033[1;31m" + yellow="\033[1;33m" + } + + /^[0-9,]+G/ { printf("%s%10s",red,$1); } + + /^[0-9,]+M/ { + mb=$1 + sub("M","",mb) + + if (int(mb) > 500) { + printf("%s%10s",yellow,$1) + } else { + printf("%s%10s",green,$1) + } } + + /^[0-9,]+K/ { printf("%s%10s",blue,$1); } + /^0/ { printf("%s%10s",blue,$1); } + sub($1,"") - print $0,"'$rstc'" -}' +' + +echo -e -n "$rstc"