Programmation.shell : script sed qui ne fonctionne pas
Posté par MilkaJinka () le 14 avril 2008En parcourant la célèbre page http://www.grymoire.com/Unix/Sed.html#uh-37 pour m'initier aux arcanes de sed, il y a un script dont je n'arrive pas à comprendre comment le faire fonctionner :
#!/bin/sh
# watch out for a '/' in the parameter
# use alternate search delimiter
sed -e '\_#INCLUDE <'"$1"'>_{
# read the file
r '"$1"'
# delete any characters in the pattern space
# and read the next line in
d
}'
Si j'ai bien compris, , en lançant $ ce_script 'fichier_à_inclure' < fichier_à_traiter > fichier_final, le script remplacera le mot INCLUDE dans le fichier à traiter par le contenu du fichier à inclure, le résultat se trouvant dans le fichier final.
Seulement, la substitution ne se fait pas, mon fichier final est une simple copie du fichier à traiter, INCLUDE est toujours là, sur sa ligne dédiée. Avez-vous une idée de pourquoi ça ne fonctionne pas ?
> Lire le message (7 commentaires, moyenne: 1,4).
Vous avez demandé le commentaire #922800.



Les commentaires ?
Voir le commentaire sur les commentaires :
Most versions of sed only allow one line as a comment, and it must be the first line. SunOS allows more than one comment, and these comments don't have to be first.
Et pour les non-anglophones :
La plupart des versions de sed n'autorisent qu'une seule ligne de commentaire, et celle-ci doit être la première. SunOS autorise plus d'un commentaire, et ces commentaires n'ont pas besoin d'être en premier.
Maintenant, j'ai pas encore essayé avec GNU sed ...
[^]Addendum
Bon, chezmoicamarche.org, maintenant mais attention aux copier-collers : en transférant le tout de links vers vi, j'ai eu des blancs en début de ligne et surtout en fin de ligne, jusqu'au bout de l'écran. Et visiblement, ça ne plaît pas à sed ...
[^]Re: Les commentaires ?
tout à fait il ne faut pas commenter sed parceque ça lui coupte la chique...
en particulier si tu utilises des detections de retourchariots