Convertir des lignes en colonnes

Résolu
Bonjour, j'aimerais savoir comment convertir des lignes en colonnes dans un fichier texte ?(en vue d'une importation pour gnuplot)

exemple : x 1 2

y 12 13

deviendrait :

x y
1 12
2 13

rem : la taille de mes 2 lignes x et y sont assez grande, et je me demande si cela peut poser problème. En effet, avec la commande :
paste <(head -1 nn| tr -s ' ' '\n') <(tail -1 nn| tr -s ' ' '\n')

j'obtiens bien des colones mais la colonne des x est décalée par rapport à celle des y.

Merci d'avance !

1 réponse

  1. Contributeur
    Salut,

    Le problème c'est qu'il nous faut des exemples concrets et non des approximations.

    En fait tes soi disant 2 lignes sont au nombre de 8 ;-(

    En prenant référence sur ton exemple donné sur Developpez

    $ cat -n brol 
         1	0    1E-20      39.6      79.2     118.9     158.5     198.1     237.8     277.4     317.0  
         2	    385.7     421.4     457.1     492.8     528.5     564.2     599.9     635.6     671.3  
         3	    723.1     759.9     796.7     833.5     870.4     907.2     944.0     980.8    1017.6  
         4	   1079.9    1116.2    1152.5    1188.8    1225.1    1261.4    1297.7    1334.0    1370.3  
         5	4.705E+03 4.705E+03 4.698E+03 4.691E+03 4.684E+03 4.677E+03 4.670E+03 4.663E+03 4.656E+03 4.648E+03
         6	 4.643E+03 4.637E+03 4.631E+03 4.625E+03 4.619E+03 4.613E+03 4.607E+03 4.600E+03 4.594E+03
         7	 4.587E+03 4.581E+03 4.574E+03 4.568E+03 4.561E+03 4.554E+03 4.547E+03 4.540E+03 4.533E+03
         8	 4.527E+03 4.521E+03 4.515E+03 4.509E+03 4.503E+03 4.497E+03 4.491E+03 4.485E+03 4.479E+03
    
    $ wc -l < brol 
    8


    ;-((

    J'ai modifié le fichier "brol" (en fic) avec une commande "sed" et la solution qui t'a été donné marche trsè bien :

    $ paste <(head -1 fic| tr -s ' ' '\n') <(tail -1 fic| tr -s ' ' '\n')
    0	4.705E+03
    1E-20	4.705E+03
    39.6	4.698E+03
    79.2	4.691E+03
    118.9	4.684E+03
    158.5	4.677E+03
    198.1	4.670E+03
    237.8	4.663E+03
    277.4	4.656E+03
    317.0	4.648E+03
    385.7	4.643E+03
    421.4	4.637E+03
    457.1	4.631E+03
    492.8	4.625E+03
    528.5	4.619E+03
    564.2	4.613E+03
    599.9	4.607E+03
    635.6	4.600E+03
    671.3	4.594E+03
    723.1	4.587E+03
    759.9	4.581E+03
    796.7	4.574E+03
    833.5	4.568E+03
    870.4	4.561E+03
    907.2	4.554E+03
    944.0	4.547E+03
    980.8	4.540E+03
    1017.6	4.533E+03
    1079.9	4.527E+03
    1116.2	4.521E+03
    1152.5	4.515E+03
    1188.8	4.509E+03
    1225.1	4.503E+03
    1261.4	4.497E+03
    1297.7	4.491E+03
    1334.0	4.485E+03
    1370.3	4.479E+03

    0
    1. Salut,

      merci pour la réponse. Pour ce qui est du nombre de ligne, j'ai justement utilisé un script sell dont le but est de mettre l'ensemble des lignes de mon document à la suite de la 1ière ou 2ième ligne et donc théoriquement j'arrive bien à 2 lignes. Voici le script shell en question :
      #n
      1 h                                    
      n                                      
      :z                                     
      x                                      
      N                                      
      $ !b z                                 
      s/\n/ /g                               
      x                                      
      s/\n/ /g                               
      G                                      
      p


      Pourais je te demander la modification que tu as effectué à l'aide de la commande shell pour obtenir 2 lignes stp ?
      0
    2. Contributeur
      sed 'N;N;N;s/\n/ /g' brol > fic 
      
      0
    3. merci ;)
      0