Bonjour,
Je voudrais faire un formatage pour une des colonnes de données pour un fichier ensuite reproduire un nouveau fichier avec ces données formatées. Quel genre de syntaxe faudrait-il utiliser?
Merci d'avance,
Clément
Bonjour,
Je voudrais faire un formatage pour une des colonnes de données pour un fichier ensuite reproduire un nouveau fichier avec ces données formatées. Quel genre de syntaxe faudrait-il utiliser?
Merci d'avance,
Clément
tout dépend du format d'entrée et du format de sortie attendue... donc on peut pas répondre.
e r r t
en entree pour
r e t
en sortie par exemple
mais c'est spécifique au changement de "e r r t" en "r e t"
Code : Sélectionner tout - Visualiser dans une fenêtre à part awk '{ print $2" "$1" "$4 }' fichier_entrée > fichier sortie
donc sans ton besoin exact on peut pas te répondre.j'insiste
awk dispose d'une fonction printf ( similaire au C ) qui permet de formater l'affichage
Donne un exemple concret, sinon, on y arrivera jamais...
Tu peux par exemple nous faire un truc du genre :
Fichier en entrée
Fichier en sortie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 NOM;AGE TOTO;12.2248765457421 TUTU;59.54657531354657
En bonus, voilà le script awk qui correspond (ça te donnera peut-être des idées
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 TOTO, 12 ans TUTU, 59 ans)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $ cat test NOM;AGE TOTO;12.2248765457421 TUTU;59.54657531354657 $ awk -F';' '{if (NR>1) printf ("%s, %d ans\n",$1,$2)}' test TOTO, 12 ans TUTU, 59 ans
Merci pour votre réponse, et pour l'info, je travaille dans win32 en utilisant gawk. Je veux faire des calculs pour les données dans un fichier d'entrée, les données sont sous forme de 3.3810830896328
0.3127507145763
1.6187476662371
0.1058373280992.
mais mon système, il ignore les chiffres après le point. par exemple
3.3810830896328/100, ça donne 0.03
Partager