Hier ist eine Formel, die für meinen Zweck geeignet ist - unter anderem druckt sie nur Dateien und verwendet sie für Größen Befugnisse von 1024, 2 ^ 10 -. Die Größe der beteiligten Datei beträgt 1382 Bytes (1,35 KiB ):
# ls -lh | grep -v '^d' | sed -n '2p' | awk '{print $5, $(NF)}'
1,4K anaconda-ks.cfg
Bedingungen zu sich bewerben in der Formel:
- '' einfügen Vor das zuletzt Zeichen der ersten Säule der Ausgabe;
- einfügen ' iB ' nach dem das zuletzt Zeichen der ersten Säule der Ausgabe;
- zwei Nachkommastellen zum nächster Wert (z. B. 1,095 = 1,09, 1,096 = 1,10);
- Spalten in Bezug auf Größen und Dateien drucken.
Ausgabe an leisten Sobald die Bedingungen erfüllt sind:
# ls -lh | grep -v '^d' | sed <expression> | awk <expression>
1,35 KiB anaconda-ks.cfg
linux
command-line
sed
awk
Ricky Tigg
quelle
quelle
Antworten:
Du solltest Vermeiden Sie das Parsen der Ausgabe von
ls
. Verwenden Sie stattdessen diestat
Befehl.Und anstatt zu versuchen, ein neues Zahlenformat zu fälschen, verwenden Sie den Befehl
numfmt
von den coreutils.So könnten Sie dies verwenden:
quelle