Pour la commande Shell, existe-t-il un programme commun tel que column
qui a une option pour aligner des colonnes spécifiques ou toutes les colonnes vers la droite, si ce n'est pas aussi détecter les champs numériques et le faire automatiquement pour ceux-ci ?
Sinon, quelle serait la manière la plus concise d'utiliser les commandes de traitement de texte ?
Exemple d'entrée délimitée par des espaces et déjà acheminée par pipeline | column -t
:
TVN 20120419 10.08 10.08 9.15 9.6 1630000 9.17 20120419 4.6 83.88 7376600 -0.21858
INTEGERPL 20120419 143.1 148.9 140.3 142.5 2910 138.53 20120405 4.32503 5.55 1642500 1.26158
JSW 20120419 93.55 94.4 91.25 92.7 116000 90.07 20120329 3.86997 8.54 13155770 1.29315
KERNEL 20120419 73.7 74.9 72.9 74.1 56200 71.8 20120404 3.48432 10.71 2819790 1.50892
EUROCASH 20120419 39.49 41.99 39.01 40.73 812000 38.05 20120328 4.85095 20.21 5280548 2.46091
PEKAO 20120419 145.9 147.8 144.0 145.5 292000 140.2 20120404 3.70615 5.48 68858748 2.63889
PKNORLEN 20120419 38.0 38.5 37.25 37.35 1230000 36.26 20120329 4.15476 21.21 104607200 2.65772
On notera des problèmes de lisibilité, notamment lorsque les différences entre les enregistrements sont de plusieurs ordres de grandeur (comme dans l'avant-dernière colonne). Par ailleurs, le formatage des prix pour qu'il y ait toujours N décimales est un problème à part entière. Mais j'ai utilisé la fonction OFMT="%.4f"
pour cela.