AIX: ls human readable

Posted: 1st Juni 2016 by Thorben Hemmler in Serveradministration
ls -l native_std* | awk 'BEGIN{mega=1048576} $5 >= mega {$5 = $5/mega "MB"} {print}'

-rw-r–r– 1 user group 31.0672MB Jun 01 15:32 native_stderr-pce.a.1.log
-rw-r–r– 1 user group 41.3623MB Jun 01 15:32 native_stderr-pce.a.3.log

  1. Gerger sagt:

    Auch wenn Debian, CentOS & Co zwar bei ls noch -h kennen:
    -h rundet auf – mit Deiner Lösung ist es präziser und trotzdem noch „human readable“.
    Feine Sache!

    Könnte man noch so erweitern:
    ls -l | awk ‚BEGIN{mega=1048576} $5 >= mega {$5 = $5/mega “ MB“} BEGIN{kilo=1024} ($5 >= kilo && $5 < mega) {$5 = $5/kilo " KB"} {print}' | awk '{$5=sprintf("%7.3f",$5)}1'

    Dann gibt er auch Dateien mit KB Größe an und rundet auf 3 Stellen hinterm Komma. Wichtig dann allerdings das Leerzeichen vor MB und KB – das fällt sonst beim Runden weg. Bekommt man bestimmt auch sauberer hin, aber das geht dann über meine beschränkten awk Syntax-Skills weit hinaus :-)