Le vendredi 2 octobre 2015, 22:23:03 andre_deb...@numericable.fr a écrit : >[…] > > sed '/^center.*td$//g' fichier.jsp? > > > > A ajuster, c'est juste une piste. > > J'ai tenté tout ça, mais en vain... > Réponse permanente : > sed: impossible de trouver l'étiquette pour sauter à > `d>/</td>/g'
Lire la page de man de sed, elle est courte. Une instruction sed a trois formes possibles : — sans adresse, l’instruction s’applique à toutes les lignes : commande args options — avec une adresse, l’instruction ne s’applique qu’aux lignes qui correspondent à l’adresse : adresse commande args options — avec deux adresses, l’instruction ne s’applique qu’aux lignes entre les deux lignes qui correspondent à l’adresse : début,fin commande args options Une adresse est un numéro de ligne ou une expression rationnelle. Le principal problème avec l’instruction proposée par Klaus est qu’il n’y a pas de commande. La commande souhaitée est la substitution, 's'. Elle prend 0, 1 ou 2 adresses. Donc : sed -e 's:<center>.*</td>:<center></td>:' (':' sert ici de séparateur pour les arguments de 's', '/' faisant partie de l’expression, ça évite d’avoir à le protéger.) Problèmes. Ça ne fera pas ce que tu veux si : 1. il y a des sauts de ligne entre <center> et </td> ; 2. il y a plusieurs </td> sur la même ligne (.* prend jusqu’au dernier). Se procurer un bonne référence sur les expressions rationnelles pour résoudre ces problèmes. -- Sylvain Sauvage