Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Remplacer une chaîne de caractères dans des fichiers

4 réponses
Avatar
Olivier V
Bonjour,

Je souhaite remplacer dans tous les fichiers html du répertoire :
<A href="document-outline.html" target="contents">Outline</a><br>
par :
Liens vers </br> les pages : </br> </br>

J'ai essayé :
#!/bin/bash
for i in *.html; do
sed -i "s/{<A href="document-outline.html"
target="contents">Outline</a><br>}/{Liens vers </br>les pages : </br>
</br>}/g"
done;

Mais cela ne fonctionne pas.

Merci pour vos idées !

Olivier V

4 réponses

Avatar
Prakash Countcham
Olivier V writes:
Je souhaite remplacer dans tous les fichiers html du répertoire :
<A href="document-outline.html" target="contents">Outline</a><br>
par :
Liens vers </br> les pages : </br> </br>


Bonsoir,

Avec GNU sed, cette commande marche chez moi :

$ sed -ri "s/<A href="document-outline.html" target="contents">Outl ine</a><br>/Liens vers </br>les pages : </br> </br>/g" toto.html

Amicalement,

--
Prakash

Avatar
lhabert
Prakash Countcham :

$ sed -ri "s/<A href="document-outline.html" target="contents">Outline</a><br>/Liens vers </br>les pages : </br> </br>/g" toto.html


Si tu utilises des « ' » à la place des « " » comme quotage externe, ça
évite d'avoir à mettre des «  » devant les « " » internes, et si tu mets un
autre caractère que « / » (par exemple « | ») après le « s », ça évite
d'avoir à quoter les / aussi. Ça donne :

sed -ri 's|<A href="document-outline.html" target="contents">Outline</a><br>|Liens vers </br>les pages : </br> </br>|g' toto.html

Avatar
Prakash Countcham
(Luc Habert) writes:
Ça donne :

sed -ri 's|<A href="document-outline.html" target="contents">Outline< /a><br>|Liens vers </br>les pages : </br> </br>|g' toto.html


Merci, cela m'a aussi permis de m'apercevoir que j'ai oublié de remplacer
toto.html par *.html

Amicalement,

--
Prakash

Avatar
Olivier V
Merci beaucoup à tous.

Olivier V