Bash - Mélanger deux fichiers texte

Résolu/Fermé
FrankieSayRelax - 12 août 2011 à 14:57
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 12 août 2011 à 17:43
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

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
12 août 2011 à 16:10
hello
$ paste -d '\n' fichier1 fichier2
fichier1 #ligne1
fichier2 #ligne1
fichier1 #ligne2
fichier2 #ligne2
$ 
2
FrankieSayRelax
12 août 2011 à 16:13
Tu as répondu pendant que j'écrivais l'autre message, je test et je reviens :)
0
FrankieSayRelax
12 août 2011 à 17:22
Ok nikel (et peu gourmand en ressources : 55000 lignes :))
0
naruto-94 Messages postés 865 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 20 décembre 2012 188
12 août 2011 à 15:02
je ne m'y connait pas trop mais tu peux essayer :

cat fichier1 fichier2 > nouveaufichier
0
FrankieSayRelax
12 août 2011 à 16:11
ç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
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
12 août 2011 à 16:14
Salut,

tu veux mélanger ou trier ?

Ce n'est pas la même chose !
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
12 août 2011 à 16:15
Salut,

Les deux, et dubcek l'a très bien démontré ;-))
0
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
12 août 2011 à 16:22
Ce que je voulais dire, c'est qu'il n'a pas été clair, il aurait dû demander un tri-fusion...
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
12 août 2011 à 16:09
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
FrankieSayRelax
12 août 2011 à 17:29
Avec cet exemple j'ai un petit problème de retour à la ligne
fichier1 
#ligne1 fichier2 #ligne1
fichier1 #ligne2 fichier2 #ligne2
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
12 août 2011 à 17:43
Bizarre ;-\

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