Bash - Mélanger deux fichiers texte

Résolu
FrankieSayRelax -  
zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai deux fichiers texte :

$ cat fichier1
fichier1 #ligne1
fichier1 #ligne2
$
$ cat fichier2
fichier2 #ligne1
fichier2 #ligne2


Comment puis-je faire pour obtenir
$ cat fichier_nouveau
fichier1 #ligne1
fichier2 #ligne1
fichier1 #ligne2
fichier2 #ligne2


Merci d'avance à tout amateur de sed qui passerai dans le coin.

3 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    hello
    $ paste -d '\n' fichier1 fichier2
    fichier1 #ligne1
    fichier2 #ligne1
    fichier1 #ligne2
    fichier2 #ligne2
    $ 
    
    2
    1. FrankieSayRelax
       
      Tu as répondu pendant que j'écrivais l'autre message, je test et je reviens :)
      0
    2. FrankieSayRelax
       
      Ok nikel (et peu gourmand en ressources : 55000 lignes :))
      0
  2. naruto-94 Messages postés 904 Statut Membre 188
     
    je ne m'y connait pas trop mais tu peux essayer :

    cat fichier1 fichier2 > nouveaufichier
    0
    1. FrankieSayRelax
       
      ça mélange les fichiers, mais sans trier :

      $ cat fichier_nouveau
      fichier1 #ligne1
      fichier1 #ligne2
      fichier2 #ligne1
      fichier2 #ligne2
      


      je souhaite que les lignes soient tirées :
      $ cat fichier_nouveau
      fichier1 #ligne1
      fichier2 #ligne1
      fichier1 #ligne2
      fichier2 #ligne2
      
      0
    2. blux Messages postés 5031 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      Salut,

      tu veux mélanger ou trier ?

      Ce n'est pas la même chose !
      0
    3. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Salut,

      Les deux, et dubcek l'a très bien démontré ;-))
      0
    4. blux Messages postés 5031 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      Ce que je voulais dire, c'est qu'il n'a pas été clair, il aurait dû demander un tri-fusion...
      0
  3. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    $ cat fich1
    fichier1 #ligne1
    fichier1 #ligne2
    
    $ cat fich2
    fichier2 #ligne1
    fichier2 #ligne2
    
    $ paste fi* | sed 's/\t/\n/'
    fichier1 #ligne1                                 
    fichier2 #ligne1
    fichier1 #ligne2
    fichier2 #ligne2

    ;-))
    0
    1. FrankieSayRelax
       
      Avec cet exemple j'ai un petit problème de retour à la ligne
      fichier1 
      #ligne1 fichier2 #ligne1
      fichier1 #ligne2 fichier2 #ligne2
      0
    2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Bizarre ;-\

      De toute façon la solution de dubcek est autrement plus élégante et performante (pas de 'pipe') ;-))
      0