2010-04-02 7 views
0

J'ai du mal à utiliser sed. J'ai besoin de remplacer certaines lignes dans des sites HTML très dépréciés qui consistent en de nombreux fichiers. Mon script ne fonctionne pas et je ne sais pas pourquoi. Quand j'ai essayé de trouver le modèle exact avec Netbeas cela a fonctionné.le remplacement de sed ne fonctionne pas

find . -type f -name "*.htm?" -exec sed -i -r 's/ing\. Šuhajda Dušan\, Mírová 767\, 518 01 Dobruška\, \+420 737 980 333\,/REPLACEMENT/g' {} \; 

Où est l'erreur? Existe-t-il une alternative pour remplacer le texte sans rechercher une expression régulière mais du texte brut? Merci pour toute réponse.

+0

Votre commande 'sed' fonctionne pour moi. Est-il possible que votre chaîne couvre plus d'une ligne? Si c'est le cas, la commande 'sed' devrait être plus complexe. –

Répondre

0

oui il est un outil de ligne de commande facile appelée remplacer, la syntaxe est comme:

replace "string 1" "string 2" -- *.html 
+0

Merci. La prochaine fois que je recherche des dépôts avant de poser une question. –

+0

Notez qu'il s'agit d'une partie du client mysql, pas de coreutils ou de paquet séparé. – wRAR

0

il n'y a pas besoin d'échapper par des virgules car il rien de spécial.

find . -type f -iname "*.htm?" -exec sed -i.bak -r 's/ing\. Šuhajda Dušan, Mírová 767, 518 01 Dobruška, \+420 737 980 333,/REPLACEMENT/g' "{}" +; 
Questions connexes