[1. Ce serait bien de répondre dessous. 2. Ce serait bien de couper les citations inutiles (surtout si c’est pour répondre dessus). 3. Ça aurait été bien de mettre HS dans le titre.]
Le samedi 23 juillet 2011 à 14:07:54, Yohann POILVERT a écrit : > Oula! oui d'accord... > Bon... > > Avec ceci? > > sed 's/<img > src=\"images\/\([a-z][a-z]*\).\([a-z][a-z]*\)\">/<img > src=\"\2\/\1.\2\">/g' Dans le désordre : — pas la peine de protéger «"» (au contraire) ; — il faut protéger le «.» ; — simplification : xx* → x+ ; — utiliser autre chose que / comme séparateur permet d’éviter d’avoir à les protéger dans les expressions ; — utiliser l’option -r permet d’éviter d’autres protections (parenthèses, + et ?) ; — un nom de fichier peut comporter des chiffres, des soulignés, des points, et tout un tas d’autres caractères, pas seulement [a-z] (manquaient aussi les majuscules). Et donc, pour répondre à la question initiale (avec les images de départ dans n’importe quel répertoire) : sed -re 's:src="([^"]*/)?([^"/]+)\.([^"/.]+)":src="\3/\2.\3":g' Notes : — j’ai limité l’expression à src="…", il devrait y avoir d’autres attributs dans une balise img (au minimum width, height et alt) et src n’est pas forcément le premier. Par contre, il vaut mieux ne pas avoir src="…" ailleurs dans le texte… — «"» ne peut pas être dans un nom de fichier (mais ce serait déjà difficile dans du HTML) ; — si src peut être en majuscules, ajouter i au bout (→ …:gi) ; — si c’est parfois «'» et non «"» qui est utilisé pour entourer les attributs, le plus simple est de faire une seconde passe. -- 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/201107231510.32978.sylvain.l.sauv...@free.fr