OVH Cloud OVH Cloud

mise en minuscules de liens dans fichier html

5 réponses
Avatar
Franssoa
Bonjour,

Un de mes fournisseurs a un CD de pièces détachées qui est globalement
organisé en une multitude de fichiers html. Comme cela a été fait avec
les pieds sous un environnement ne distinguant pas les majuscules dans
les noms de fichiers, je ne peux même pas le consulter sous linux !

En effet, les noms de fichiers sont en minuscules "mon_fichier.html" ou
"ma_belle_image.jpg" et tous les appels sont du genre "Mon_Fichier.help"
et "MA_BELLE_IMAGE.JPG" (no comment).

Donc, je cherche un moyen de convertir TOUS les liens dans les fichiers
html en minuscules, sans devoir me taper les 57120 fichiers répartis
dans 1446 dossier (véridique!).

une idée ?
--
Franssoa
py@d.ch, mais il faut mettre topmusic à la place de d

5 réponses

Avatar
Sébastien Monbrun aka TiChou
Dans le message <news:46014ea8$0$3816$,
*Franssoa* tapota sur f.c.o.l.configuration :

Un de mes fournisseurs a un CD de pièces détachées qui est globalement
organisé en une multitude de fichiers html. Comme cela a été fait avec les
pieds sous un environnement ne distinguant pas les majuscules dans les
noms de fichiers, je ne peux même pas le consulter sous linux !


Ça doit pouvoir se corriger avec les bonnes options de montage. man mount

En effet, les noms de fichiers sont en minuscules "mon_fichier.html" ou
"ma_belle_image.jpg" et tous les appels sont du genre "Mon_Fichier.help"
et "MA_BELLE_IMAGE.JPG" (no comment).

Donc, je cherche un moyen de convertir TOUS les liens dans les fichiers
html en minuscules, sans devoir me taper les 57120 fichiers répartis dans
1446 dossier (véridique!).


find . -type f -name '*.html' -print0 |
xargs -x0 perl -i -p -e 's/
(<as[^>]*href=["x27])([^"x27]+)(["x27][^>]*>)
/$1L$2E$3/xgi'

Ne fonctionne que si le contenu des balises HTML <a> n'est pas sur plusieurs
lignes.
Peut mieux faire, mais flemme aigue.

--
Sébastien Monbrun aka TiChou

Avatar
Franssoa
Un de mes fournisseurs a un CD de pièces détachées qui est globalement
organisé en une multitude de fichiers html. Comme cela a été fait avec
les pieds sous un environnement ne distinguant pas les majuscules dans
les noms de fichiers, je ne peux même pas le consulter sous linux !


Ça doit pouvoir se corriger avec les bonnes options de montage. man mount
Je pense que oui, si je lis directement le CD, mais je préfère le

recopier sur le disque dur pour ne pas avoir à le laisser dans le
lecteur du serveur, pouvoir l'utiliser avec apache et pour plus de
rapidité d'accès.

Donc, je cherche un moyen de convertir TOUS les liens dans les
fichiers html en minuscules, sans devoir me taper les 57120 fichiers
répartis dans 1446 dossier (véridique!).


find . -type f -name '*.html' -print0 |
xargs -x0 perl -i -p -e 's/
(<as[^>]*href=["x27])([^"x27]+)(["x27][^>]*>)
/$1L$2E$3/xgi'

Ne fonctionne que si le contenu des balises HTML <a> n'est pas sur
plusieurs lignes.
Peut mieux faire, mais flemme aigue.

bien, bien... je vais commencer par essayer de comprendre l'instruction :-)


Merci, en tout cas.
Franssoa


Avatar
dominique

Donc, je cherche un moyen de convertir TOUS les liens dans les fichiers
html en minuscules, sans devoir me taper les 57120 fichiers répartis
dans 1446 dossier (véridique!).


Pourtant, avec un peu de bonne volonté...
Bon, si on me cherche, je suis dans le jardin :-)
Dominique

Avatar
G-raison
dominique wrote:

Bon, si on me cherche, je suis dans le jardin :-)


Ah, tu as un OS qui plante? :-)

--
@+
gr

Avatar
francois.patte
On 21 mar, 21:18, Franssoa wrote:
Sébastien Monbrun aka TiChou a écrit :>> Un de mes fournisseurs a un CD de pièces détachées qui est globalement
organisé en une multitude de fichiers html. Comme cela a été fai t avec
les pieds sous un environnement ne distinguant pas les majuscules dans
les noms de fichiers, je ne peux même pas le consulter sous linux !


Ça doit pouvoir se corriger avec les bonnes options de montage. man m ount


Je pense que oui, si je lis directement le CD, mais je préfère le
recopier sur le disque dur pour ne pas avoir à le laisser dans le
lecteur du serveur, pouvoir l'utiliser avec apache et pour plus de
rapidité d'accès.


Copier le CD sous forme "image.iso": insérer le CD, le démonter s'il y
a un automontage, et:

cat /dev/hdx > mon-cd.iso (x= a|b|c... ça dépend du système)

puis monter l'image copiée avec -o loop et l'option "case" (me
souviens plus de la syntaxe exacte).

François Patte