presentation des resultats [script] - Débats - Linux et OS Alternatifs
Marsh Posté le 29-11-2002 à 17:06:15
c'est quoi la diff entre les 2? tu veux avoir des belles colonnes?
Marsh Posté le 29-11-2002 à 17:15:44
Tu peux utiliser printf (la commande, pas la fonction du C). Exemple :
% printf "%10s %-10s %10s\n" toto titi tata |
Marsh Posté le 29-11-2002 à 17:23:13
Matafan a écrit a écrit : Tu peux utiliser printf (la commande, pas la fonction du C). Exemple :
|
c pas mal mais ya un petit probleme, c qu'il faut connaitre la longueur de la plus longue chaine car si tu ecris %10 et que ta chaine precedente a une longueur superieure a 10 ca decale tout.
Marsh Posté le 02-12-2002 à 19:43:07
Si tu fais ça en Perl, utilises les formats, c'est fait pour ça. Enfin de toute façon faut forcément connaitre la longueur de la plus longue chaine...
Marsh Posté le 02-12-2002 à 21:54:42
startx25 a écrit a écrit : faut faire ça en perl à mon avis |
je suis très intéressé par cette info (pour mon stage, j'ai un truc dans ce genre la à développer...). Tu peux me donner une URL où on explique comment ça marche en Perl ?
Marsh Posté le 03-12-2002 à 10:37:18
avec des trucs genre :
"machin\tmachine\tetc"
\t c'est pour les tabulations...
Marsh Posté le 03-12-2002 à 12:44:00
Astro a écrit a écrit : J'ai un script qui me liste le resultat de plusieurs operations sur un fichier de log et j'aimerais qu'il me les listes clairement [...] je peux faire comment? |
tu peux regarder du coté de tbl et nroff
edit: mais les tabulations c franchement le plus simple
Marsh Posté le 04-12-2002 à 23:33:22
loozer a écrit a écrit : tu peux regarder du coté de tbl et nroff edit: mais les tabulations c franchement le plus simple |
je ne connais pas vraiment linux , mais travaille sur des sytemes unix. Tu peux par exemple récupéré la longueur maximale de chaque colonne et faire un printf avec cete valeur connue .... Moa perl connais pas , par contre c est faisable en awk ...
LongMax=`awk ' BEGIN { LngC1=6;LngC2=4;LngC3=4 } {
if ( length($1) > "lngC1" ) { lngC1=length($1) }
if ( length($2) > "lngC2" ) { lngC2=length($1) }
if ( length($3) > "lngC3" ) { lngC3=length($1) }
}
END { print LngC1" "LngC2" "LngC3 }' File.txt`
i=1
for Lng in LongMax
do
LngC[${i}]=${Lng}
i+=1
done
printf "%-${LngC[1]}s %..........." numero date prix
Marsh Posté le 29-11-2002 à 16:54:18
J'ai un script qui me liste le resultat de plusieurs operations sur un fichier de log et j'aimerais qu'il me les listes clairement
un exemple :
numero date prix
05060 1999-12-12 2569 Euros
56925745 2000-08-05 69 Euros
et j'aimerais avoir plutot ca:
je peux faire comment?
Message édité par AsTro le 29-11-2002 à 17:11:55
---------------
>>>>>> WebFotos <<<<<<