Je crains que la seconde solution ne marche pas, quand on insère plusieurs lignes avec la commande i, toutes les lignes sauf la dernière doivent être terminées par un \ ; il faudrait aussi entourer la construction $(...) par des doubles quotes pour empêcher le shell de la découper aux espaces...
Par ailleurs, la commande 1i... va se retrouver comme argument de l'option -i, il faut insérer -e entre l'option -i sans argument et la commande Sed.
La première solution est évidemment plus simple (et plus lisible :), mais on peut, avec l'aide de Bash, emboîter deux (GNU) Seds :
[^] # Re: à l'ancienne
Posté par Jacques L'helgoualc'h (site web personnel) . En réponse au message inserer des lignes en debut de fichier. Évalué à 1.
Par ailleurs, la commande 1i... va se retrouver comme argument de l'option -i, il faut insérer -e entre l'option -i sans argument et la commande Sed.
La première solution est évidemment plus simple (et plus lisible :), mais on peut, avec l'aide de Bash, emboîter deux (GNU) Seds :
~ $ sed -i.old -e '1{h;r '<(sed -e '/^t/,$!d' fic2)'
d};2{x;G}' fic1
~ $ cat fic2
=== fic2 ===
alpha
bravo
tagada
delta
~ $ diff fic1.old fic1
0a1,3
> tagada
> delta
>