OVH Cloud OVH Cloud

conversions majuscule/minuscule

2 réponses
Avatar
Remi Moyen
Salut,

J'ai récuperé une doc en html, qui a été faite sous windows. Les noms de
fichiers sont des trucs style 0034A.GIF. Et évidemment, dans les pages
html, les liens sont des fois vers 0034a.GIF, des fois vers 0034a.gif, des
fois vers...

Bref, c'est le bazar. Est-ce qu'il existe un outil pour homogénéiser tout
ça facilement ? Changer les noms des fichiers, ça va, je sais faire, mais
si il faut aussi que j'aille éditer toutes les pages html à la main, ça ne
va plus aller du tout...

Et question totalement annexe :
Dans un script shell (bash), je veux itérer sur tous les fichiers dont le
nom contient la variable $l. Si je fais "for i in *$l*", ça marche pas.
C'est quoi la bonne syntaxe ?
--
Rémi Moyen
"Malgré les apparences, le temps est très varié à Nancy :
pluie, nuages, neige, brouillard, grêle, ..."

2 réponses

Avatar
Stephane Chazelas
2004-01-16, 11:52(+01), Remi Moyen:
[...]
Bref, c'est le bazar. Est-ce qu'il existe un outil pour homogénéiser tout
ça facilement ? Changer les noms des fichiers, ça va, je sais faire, mais
si il faut aussi que j'aille éditer toutes les pages html à la main, ça ne
va plus aller du tout...


Pour changer '="*.GIF"' en la meme chose avec le nom du fichier
en minuscule sur tous les fichiers .html, tu peux faire:

perl -pi.bak -e 's,(="(?:[^"]*/)?)([^"/]*.GIF"),$1L$2,g' *.html

Efface les ".bak" une fois que tu as vérifié que tout s'est bien
passé.

Dans un script shell (bash), je veux itérer sur tous les fichiers dont le
nom contient la variable $l. Si je fais "for i in *$l*", ça marche pas.
C'est quoi la bonne syntaxe ?


for i in *"$l"*

for i in *$l*

marchera tant que $l ne contient pas de caractères d'IFS ou de
wildcards (*, ?, [...).

--
Stéphane ["Stephane.Chazelas" arobase "free.fr"]

Avatar
Remi Moyen
On Fri, 16 Jan 2004, Stephane Chazelas wrote:

Pour changer '="*.GIF"' en la meme chose avec le nom du fichier
en minuscule sur tous les fichiers .html, tu peux faire:

perl -pi.bak -e 's,(="(?:[^"]*/)?)([^"/]*.GIF"),$1L$2,g' *.html

Efface les ".bak" une fois que tu as vérifié que tout s'est bien
passé.


Ok, merci bien !

Je me doutais bien qu'un truc avec perl pouvait marcher, mais j'ai
toujours eu la flemme et pas le temps de m'y mettre...
--
Rémi Moyen
"Malgré les apparences, le temps est très varié à Nancy :
pluie, nuages, neige, brouillard, grêle, ..."