sed: supprimer les caractères entre deux chaînes de caractères

Je voudrais utiliser sed pour supprimer tous les caractères entre "foo=1&" et "bar=2&" pour tous les événements dans un fichier xml.

<url>http://example.com?addr=123&foo=1&s=alkjasldkffjskdk$bar=2&f=jkdng</url>
<url>http://example.com?addr=124&foo=1&k=d93ndkdisnskiisndjdjdj$bar=2&p=dnsks</url>

Voici ma commande sed:

sed -e '/foo=1&/,/bar=2&/d' sample.xml

Lorsque je l'exécute, le fichier est inchangé.

Ci-dessus est basé sur cet exemple: Trouver "mot1" et supprimer entre ça et "chaîne2"

  • Oui. Quand j'ajoute l'option-i, je me retrouve avec un fichier vide
  • Cette opération peut être déplacé à l'Linux / Unix stackexchange.
InformationsquelleAutor Sparky1 | 2013-10-04