On Thu, 3 Oct 2002 08:08:43 +0200
Le Bot Jean-Michel <[EMAIL PROTECTED]> wrote:


> > find . -name \*.HTM -print | awk '{print "mv " $0 " " tolower($0)}' | sh
> >
> >
> Merci pour cette solution qui fonctionne parfaitement. 
> Mais j'ai maintenant un autre problème, c'est que dans les fichiers html en 
> question (il s'agit des fichiers de doc qui accompagnent les données sur les 
> CD de l'INSEE, faits avec Micro$ FrontPage) les liens sont parfois écrits <a 
> href="Le_fichier.htm"> parfois <a href="LE_FICHIER.HTM"> parfois <a 
> href="le_fichier.htm"> ceci pour un même fichier. ça ne semble pas poser de 
> pb pour Micro$ IE (qui n'est donc pas case sensitive ?), mais ça ne passe pas 
> avec Konqueror ou Mozilla.
> Comment faire pour que tous les liens soient sous la forme <a 
> href="le_fichier.htm"> (autrement qu'en reprenant tout à la main)? 
> Je précise que tous ces fichiers sont dans le même répertoire.
> 
> -- 
> J e a n - M i c h e l    L e  B o t
> http://jeanmichel.lebot.free.fr
> 

si tu as toujours besoin de ce script, j'ai pris un peu de temps pour t'en mitonner un 
et le tester. sans perl, awk, sed ou boa. que du bash ;)

#!/bin/bash

IFS=$(echo -e "\r")

i=$(cat $1)
a=0

while [ $a -lt ${#i} ]
        do
                b=${i:$a:1}
                case ${i:$a:8} in
                        \<[aA]\ [hH][rR][eE][fF]=*)
                                echo -n "${i:$a:8}"
                                a=$((a+8))
                                while true
                                        do
                                                b=${i:$a:1}
                                                case $b in
                                                        \>)
                                                                echo -n "$b"
                                                                a=$((a+1))
                                                                break
                                                                ;;
                                                        [A-Z])
                                                                echo -n "$b" | tr 
[:upper:] [:lower:]
                                                                a=$((a+1))
                                                                ;;
                                                        *)
                                                                echo -n "$b"
                                                                a=$((a+1))
                                                                ;;
                                                esac
                                        done
                                ;;
                        *)
                                echo -n "$b"
                                a=$((a+1))
                                ;;
                esac
                
        done

echo

pour tester sur un fichier:
script fichier > fichier.new

et si ça te convient, avec tous:
for i in $(commande de recherche de tes fichiers); do script $i > $i.new; done

bye
jipe

Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com";

Répondre à