bonjour,
j'ai un fichier contenant des nombres séparés par des virgules de cette forme:
1,2,4
5,8,9
j'aimerais prendre la 1ere colonne, la traiter avec sed et la transposer en derniere colonne.
Pour le moment je selectionne la 1er colonne avec un cut | sed et je stoque le resultat dans un fichier. Je fait ensuite en cut sur le reste et le stoque dans un 2eme fichier.
puis je fait un paste entre les deux fichiers.
Ce que j'aimerais maintenant, c'est eviter d'avoir à passer par des fichiers temporaires.
Une idée?
# awk ?
Posté par solsTiCe (site web personnel) . Évalué à 2.
echo 5,4,2|awk -F "," '{print $3,$2,$1}'
essaye awk c'est plus puissant que
même
echo 5,4,2|awk -F "," '{printf ("%s,%s,%s\n",$3,$2,$1);}'
ou alors avec sed mais sans cut avec l'expression régulière qu'il faut et que j'ai la flegme de chercher maintenant ;-D
# L'option -i ...
Posté par Jacques L'helgoualc'h (site web personnel) . Évalué à 2.
l'option -i permet d'éviter les fichiers temporaires :
sed -i.old -re 's/([^,]*),(.*)/\2,\1/' fichier
[^] # Re: L'option -i ...
Posté par hypno . Évalué à 1.
[^] # Re: L'option -i ...
Posté par Dabowl_92 . Évalué à 3.
[^] # Re: L'option -i ...
Posté par Jacques L'helgoualc'h (site web personnel) . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.