Forum Programmation.shell Ajouter le contenu d'un fichierA.txt au début de chaque ligne du fichierB.txt

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
-5
27
fév.
2017

Bonjour,

Je réitère mon appel à l'aide !
Je cherche un moyen ou une commande pour ajouter le contenu d'un fichierA.txt au debut de chaque ligne d'un fichierB.txt.

Je vous donne un exemple,
Contenu du fichierA :

hostname-toto

Contenu du fichierB :
aaaaaaaaaaa
eeeeeeeeeeeeeee
rrrrrrrrrrrrrrrrr
tttttttttttttttttt
yyyyyyyyyyyyyyyyyy

Résultat attendu :

hostname-toto aaaaaaaaaaa
hostname-toto eeeeeeeeeeeeeee
hostname-toto rrrrrrrrrrrrrrrrr
hostname-toto tttttttttttttttttt
hostname-toto yyyyyyyyyyyyyyyyyy

merci d'avance pour votre aide, de mon coté je ne trouve que la commande sed qui envoi une chaine au début de chaque ligne du fichierB. Ce que je cherche c'est vraiment le contenu du FichierA au debut de chaque ligne du fichierB.

  • # $(...)

    Posté par  (site web personnel) . Évalué à 2.

    sed s/^/$(cat fichierA)/g fichierB  ?

    Essaie pour vivre sans brider les utilisateurs https://www.indiegogo.com/projects/iwinote

  • # Proposition

    Posté par  . Évalué à 1.

    Bonjour,

    Voici une possibilité :

    echo hostname-toto > firchierA

    cat <<! > firchierB

    aaaaaaaaaaa
    eeeeeeeeeeeeeee
    rrrrrrrrrrrrrrrrr
    tttttttttttttttttt
    yyyyyyyyyyyyyyyyyy
    !

    awk -v fa=cat firchierA '{ print fa" "$0 }' firchierB
    hostname-toto aaaaaaaaaaa
    hostname-toto eeeeeeeeeeeeeee
    hostname-toto rrrrrrrrrrrrrrrrr
    hostname-toto tttttttttttttttttt
    hostname-toto yyyyyyyyyyyyyyyyyy

  • # Une autre proposition…

    Posté par  . Évalué à 2.

    join -t' ' -1 2 -2 2 fichierA fichierB

    ne marche que
    - si il n'y a pas de caractère séparateur dans les lignes… sinon le changer (paramètre t)… ou alors utiliser un nombre plus grand pour les champs…
    - si il n'y a qu'une ligne dans le premier fichier sinon cela fait l'action pour chaque ligne du fichierA (mais cela peut-être utile)

    Cela rajoute un caractère séparateur en début de ligne

  • # Cf. premier post

    Posté par  . Évalué à 2.

    Bonjour,

    Qu'est-ce qui ne te conviens pas dans les solutions proposées en réponse à ton premier post ? Les as-tu testées ?
    http://linuxfr.org/forums/programmation-shell/posts/ajouter-le-contenu-d-un-fichiera-txt-au-debut-de-chaque-ligne-du-fichierb-txt

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.