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
-2
24
fév.
2017

Bonjour,

Voila mon soucis, je cherche à ajouter le contenu du fichierA.txt au début de chaque ligne du fichierB.txt

Tout ce que j'arrive a faire c'est la commande ci-dessous. elle me permet de envoyer 'textexemple' au debut de chaque ligne du fichierB.
sed -e 's/.*/textexemple &/' FichierA.txt > FichierB.txt

ce Que je cherche c'est envoyer le contenu d'un fichierA au debut de chaque ligne du fichier B.

Merci pour votre aide

  • # while read

    Posté par  . Évalué à 4.

    Tu peux utiliser un while pour lire ligne par ligne le fichier avec read

    while read line ; do
        [...]
    done < fichierB.txt

    Tu as pour chaque itération la ligne dans la variable $line. Yapluka concaténer.

  • # Ajout de préfixe

    Posté par  . Évalué à 3.

    Une solution avec awk (très certainement améliorable, mais je n'ai pas la dernière version avec l'option "in place") :
    awk -v PRE=`cat fichierA.txt` '{print PRE$0}' fichierB.txt > tmp.txt && mv tmp.txt fichierB.txt

  • # paste

    Posté par  . Évalué à 4.

    À moins que je n'ai pas compris ce que tu cherche à faire, il me semble que c'est exactement à ça que sert la commande paste.

Suivre le flux des commentaires

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