Disons que j'ai deux fichiers foo y bar . Je veux remplacer la chaîne " ceci est un test " dans foo avec le contenu du fichier bar . Comment puis-je faire cela en utilisant une seule ligne ? sed ?
J'ai utilisé :
sed -i.bak 's/this is test/$(cat bar)\n/g' foo
mais la chaîne de caractères est remplacée par le littéral $(cat bar)
plutôt que le contenu de bar
. J'ai essayé d'utiliser des guillemets mais le résultat reste le même.
La réponse de Radu est correcte en ce qui concerne la citation. Maintenant, le problème est le suivant : disons que mon fichier de barres contient.. :
this
is
a
test
file
Maintenant, si j'exécute la commande, cela donne une erreur :
sed : -e expression #1, char 9 : commande `s' non terminée
18 fois.