Le lundi 25 juillet 2011 à 12:19:37, cor...@free.fr a écrit : >[…] > > Remplacer les «"» par des «\'» (le \ est là pour le shell, > > pas pour sed) : > > sed -re > > 's:src=\'([^\']*/)?([^\'/]+)\.([^\'/.]+)\':src="\3/\2.\3": > > g' > > => > sed -re > 's:src=\'([^\']*/)?([^\'/]+)\.([^\'/.]+)\':src="\3/\2.\3":g' > essai.html bash: syntax error near unexpected token `('
Oui, ma faute, le shell ne comprend pas «\'» (ou plutôt, «'» ne permet pas «\»). Donc : sed -re \ "s:src='([^']*/)?([^'/]+)\.([^'/.]+)':src=\"\3/\2.\3\":g" (qui est finalement plus court…) >[…] > > sed -re 's:src=([^> ]*/)?([^> /]+)\.([^> /.]+)([> > > ]):src="\3/\2.\3"\4:g' > > => idem : > bash: syntax error near unexpected token `(' Là non, je ne vois pas. Mon expression est correcte. Je répète (attention à mauvais copier-coller) : sed -re \ 's:src=([^> ]*/)?([^> /]+)\.([^> /.]+)([> ]):src="\3/\2.\3"\4:g' > J'ai tenté des modifs, sans succès ... Si tu lis `info sed`, tu dois pouvoir comprendre les expressions et les modifier. Si tu as des problèmes avec Bash, essaie `man bash`. En tout cas, les deux expressions données ici fonctionnent… -- Sylvain Sauvage -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/201107251241.02738.sylvain.l.sauv...@free.fr