Commande Lunix

Fermé
ayda - 31 mars 2016 à 14:31
 ayda - 1 avril 2016 à 10:56
Bonjour,
j'ai un fichier texte de 5 colonnes :
82 1 1 10 20
83 1 14 2 15
84 1 15 13 17
....
..
je veux que la deuxième colonne soit la dernière , la troisième colonne prend la place de la deuxième ...

Merci

3 réponses

Salut,

Regarde du côté de awk.
0
oui j' ai essayé avec la commande awk mais j'arrive pas à le faire .

Merci
0
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
31 mars 2016 à 17:09
Inspire-toi de ceci, non.
johand@bata:~/src/CCM/AWK$ cat data.txt 
82 1 1 10 20
83 1 14 2 15
84 1 15 13 17
johand@bata:~/src/CCM/AWK$ awk -- 'BEGIN{IFS=" "}{printf( "%s  %s %s\n", $1, $3, $2) ;} ' data.txt 
82  1 1
83  14 1
84  15 1



0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
1 avril 2016 à 08:09
hello
avec ou sans les colonnes 4 et 5 ?
$ awk '{print $1, $3, $4, $5, $2}' fichier
82 1 10 20 1
83 14 2 15 1
84 15 13 17 1
$ awk '{print $1, $3, $2}' fichier
82 1 1
83 14 1
84 15 1
0
Bonjour
j'ai essayé avec la première commande ( ce que je veux moi) mais çà marche pas, il affiche seulement la première colonne.

Merci
0
UnGars > ayda
1 avril 2016 à 08:38
Salut,

Alors c'est que ton fichier n'est pas formaté comme tu le dis ;-(

Peux-tu afficher un bout de ton fichier avec cette commande :
cat -A ton_fichier
?
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
1 avril 2016 à 08:39
les colonnes sont séparées par un espace ?
c'est un fichier Windows, lignes terminées par des ^M ? voir avec
 cat -A fichier
0
ayda > UnGars
1 avril 2016 à 10:29
Ci joint un fichier texte avec 5 colonnes
82 1 1 10 20
83 1 14 2 15
84 1 15 13 14
.....
....
Ce que je veux c'est que la 2 ème colonne soit la dernière
c-à-dire

82 1 10 20 1
83 14 2 15 1
84 15 13 14 1
.........
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615 > ayda
1 avril 2016 à 10:54
$ cat fichier
82 1 1 10 20
83 1 14 2 15
84 1 15 13 14
$ awk '{print $1, $3, $4, $5, $2}' fichier
82 1 10 20 1
83 14 2 15 1
84 15 13 14 1
0