Commande Lunix

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

  1. Salut,

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

      Merci
      0
  2. Modérateur
    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
    1. Contributeur
      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
      1. 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
      2. @aydaSalut,

        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
      3. Contributeur
        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
      4. @UnGarsCi 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
      5. Contributeur
        @ayda
        $ 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