Fedora 7 et un script pour changer les majuscules en minuscules
Je me trouvais devant un problème qui pouvait me prendre un certain temps sans un petit script bien pratique.
Je devais modifier le contenu de plusieurs fichiers d'un répertoire pour changer toutes les majuscules en minuscules.
Voici comment j'ai procédé en quelques minutes seulement.
Je génére ou édite tout d'abord une liste des fichiers à modifier :
$ ls |grep *.php > liste.txt
Ensuite à l'aide de cette commande je vais modifier toutes les majuscules en minuscules dans les fichiers listés dans le fichier liste.txt :
$ for i in `cat liste.txt`;do cat $i | tr 'A-Z' 'a-z' > $i.1;mv --reply=yes $i.1 $i; done
Et pour changer les minuscules en majuscules c'est aussi simple :
$ for i in `cat liste.txt`;do cat $i | tr 'a-z' 'A-Z' > $i.1;mv --reply=yes $i.1 $i; done
Voilà il y a surement d'autres techniques mais bon celle là fonctionne très bien
A+
[snip de tout un laïus sur rename vu que de toute évidence
l'objectif n'est pas de changer les maj/min du nom du fichier]
Déjà tu pourrais simplifier ta ligne comme suit:
for i in *.php;do cat $i | tr 'A-Z' 'a-z' > $i.1; /bin/mv $i.1 $i; done
le '--reply=yes' est inutile si tu passe outre les alias définis dans ton shell, ce qui ce fait simplement en spécifiant le chemin de l'executable, et le passage par un
fichier de listing solution qui peut être utile ne l'est pas forcement dans tout les cas ..
Sinon (merci perl)
perl -pi -e 'y/A-Z/a-z/' *.php
ou
perl -pi -e 'y/A-Z/a-z/' `cat liste.txt`
Merci beaucoup pour ces compléments.
Je suis tombé sur ce post en cherchant comment renommer des noms de fichiers de majuscule vers minuscule. Si vous aussi cherchez cela voilà comment faire:
rename 'y/A-Z/a-z/' *