mise en minuscules de liens dans fichier html

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Sébastien Monbrun aka TiChou
Le #1878072
Dans le message *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

Franssoa
Le #1878070
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


dominique
Le #1878539

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

G-raison
Le #1878537
dominique wrote:

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


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

--
@+
gr

francois.patte
Le #1878517
On 21 mar, 21:18, Franssoa
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



Publicité
Poster une réponse
Anonyme