Ce n'est pas testé, mais serait assez proche de ce que vous avez besoin:
sed -e "s/INSERT_HERE1/`cat file1.txt`/" -e "s/INSERT_HERE2/`cat file2.txt`/" <file >file.out
Il ne sera pas gérer correctement un fichier avec des barres obliques dans, cependant, vous devrez peut-être modifier un peu.
Je recommanderais plutôt Perl, cependant. Quelque chose comme ceci:
#!/usr/bin/perl -w
my $f1 = `cat file1.txt`;
my $f2 = `cat file2.txt`;
while (<>) {
chomp;
s/INSERT_HERE1/$f1/;
s/INSERT_HERE2/$f2/;
print "$_\n";
}
Cela suppose que INSERT_HERE1 et INSERT_HERE2 ne peuvent apparaître qu'une seule fois par ligne, et que le file1.txt
ne comprend pas le texte INSERT_HERE2 (ne serait pas difficile de fixer, cependant). Utilisez comme ceci:
./script <file >file.out
hum .. Je voudrais garder les dépendances vers le bas. Est-ce que perl est aussi commun d'avoir installé, disons, sed? – aioobe
@aioobe Oui. Je ne connais aucun système Unix moderne qui n'inclut pas Perl. – Jonathan
@aioobe Oui. Perl est omniprésent. – codaddict