
Envoyé par
cotmar
Du coups, aurais tu une solution s'il te plaît ?
Pour supprimer les balises <contrat…></contrat> vides, cette syntaxe devrait le faire :
sed '\#<contrat #{N;\#</contrat>$#d}' fichier
Mais comme on n'est pas sûr qu'il n'y ait pas des lignes vides résiduelles, mieux vaut privilégier celle-ci :
sed '\#<contrat #{:z;N;\#</contrat>$#!bz;\#<contrat [^>]*>\n\{1,\}</contrat>$#d}' fichier
Tu rajouteras le "-i.bak" ou "-i" qu'une fois que tu auras vérifié que la syntaxe fait bien ce que tu veux.
Et pour en revenir à la 1ère commande donnée, par précaution, il serait bon de l'écrire de la sorte :
sed -i.bak '\#http://monip3\>#d' fichier
Le "\>" à la fin de l'adresse IP permet d'éviter de supprimer des adresses IP ayant une racine commune. (192.168.1.11 et 192.168.1.111 par exemple).
Partager