Voici une formule qui a les bases appropriées pour mon but - entre autres, elle imprime des fichiers uniquement, en utilisant pour les tailles pouvoirs de 1024 2 ^ 10 - La taille du fichier impliqué est de 1382 octets (1,35 KiB ):
# ls -lh | grep -v '^d' | sed -n '2p' | awk '{print $5, $(NF)}'
1,4K anaconda-ks.cfg
Conditions à appliquer dans la formule:
- insérer '' avant la dernier personnage appartenant à la première colonne de la sortie;
- insérer ' iB ' après la dernier personnage appartenant à la première colonne de la sortie;
- deux chiffres fractionnaires au valeur la plus proche (par exemple 1 095 = 1 09, 1 096 = 1,10);
- imprimer des colonnes relatives aux tailles et aux fichiers.
Sortie à atteindre une fois les conditions appliquées:
# ls -lh | grep -v '^d' | sed <expression> | awk <expression>
1,35 KiB anaconda-ks.cfg
linux
command-line
sed
awk
Ricky Tigg
la source
la source
Réponses:
Vous devriez éviter d'analyser la sortie de
ls
. Utilisez plutôt lestat
commander.Et au lieu d'essayer de forger un nouveau format de nombre, utilisez la commande
numfmt
des coreutils.Pour que vous puissiez utiliser ceci:
la source