Aidez-moi à finir ce petit script répétant une commande

Autres projets et contributions
Avatar de l’utilisateur
kozaki
Chu Ko Nu
Messages : 422
Inscription : mer. 13 sept. 2006, 22:49
Localisation : London > . < Paris
Contact :

Aidez-moi à finir ce petit script répétant une commande

Message par kozaki »

Siouplait je cherche un modèle de script BASH répétant une commande sur chaque fichiers d'un répertoire

Pour résumer :
- Quelques centaines de fichiers encodés en charsets variés, à passer en UTF-8.
- j'ai enfin trouvé la librairie qui analyse et convertit à merveille : utrac
- Je ne sais traiter qu'un fichier à la fois vu que suis un désastre en Algo sans parler de Bash :?

La commande manuelle est :

Code : Tout sélectionner

utrac /repertoire/fichier /repertoire/fichier_utf8
Ça doit ressembler à qqch comme ça, avec des `` ou {} quelque part je parie ?

Code : Tout sélectionner

#!/bin/bash
# Conversion du charset et fin de ligne de tous les fichiers du rep courant
for i in * do
# vers celui par defaut du systeme (UTF-8) avec utrac
utrac $i >$i.utf8
done
echo "Fait."
Si je pouvais trouver un petit exemple de script s'approchant ce serait un petit pas pour l'algo... et un grand saut pour moi :wink:
~ Configs ~ PGP Key: 1C2A554EFF0157D9
« Demande un conseil à ton ennemi et fais le contraire (proverbe juif)
SVP intéressé par tout retour d'exp. sur Arch ARM en général, et sur portable (CrOS) en particulier.
Avatar de l’utilisateur
kozaki
Chu Ko Nu
Messages : 422
Inscription : mer. 13 sept. 2006, 22:49
Localisation : London > . < Paris
Contact :

Message par kozaki »

Ce bout de script fonctionne...

Code : Tout sélectionner

#!/bin/bash

utrac=/home/kozaki/src/bin/utrac

cd "$1"
for filename in *.php
do
        $utrac "$filename" >"${filename%.php}.utf8"
done
exit 0

...enfin il crée un [fichier.utf8] en UTF-8 avec fin de ligne LF pour chq occurrence de *.php :)

Comment améliorer un peu ça pour :
1. Renommer tous les fichiers en [fichier.extension.old]
2. lancer utrac sur ces derniers en obtenant les fichiers convertis sous la forme [fichier.extension] ?
~ Configs ~ PGP Key: 1C2A554EFF0157D9
« Demande un conseil à ton ennemi et fais le contraire (proverbe juif)
SVP intéressé par tout retour d'exp. sur Arch ARM en général, et sur portable (CrOS) en particulier.
Avatar de l’utilisateur
wain
Maître du Kyudo
Messages : 1854
Inscription : ven. 11 août 2006, 19:15
Localisation : Nancy (54)

Message par wain »

kozaki a écrit :Ce bout de script fonctionne...
...enfin il crée un [fichier.utf8] en UTF-8 avec fin de ligne LF pour chq occurrence de *.php :)

Comment améliorer un peu ça pour :
1. Renommer tous les fichiers en [fichier.extension.old]
2. lancer utrac sur ces derniers en obtenant les fichiers convertis sous la forme [fichier.extension] ?
Voilà qui devrait fonctionner :)

Code : Tout sélectionner

#!/bin/bash

utrac=/home/kozaki/src/bin/utrac

cd "$1"
for filename in *.php
do
    mv "$filename" "${filename}.old"
    $utrac "${filename}.old" >"${filename%.php}.utf8"
done
exit 0
Avatar de l’utilisateur
kozaki
Chu Ko Nu
Messages : 422
Inscription : mer. 13 sept. 2006, 22:49
Localisation : London > . < Paris
Contact :

Message par kozaki »

Bah vi :lol:
Encore mieux en renommer avec la bonne extension direct, ici pour les feuilles de style css :

Code : Tout sélectionner

#!/bin/bash

utrac=/home/kozaki/src/bin/utrac

cd "$1"
for filename in *.css
do
    mv "$filename" "${filename}.old"
    $utrac "${filename}.old" >"${filename%.css}.css"
done
exit 0
Wain -> merci
~ Configs ~ PGP Key: 1C2A554EFF0157D9
« Demande un conseil à ton ennemi et fais le contraire (proverbe juif)
SVP intéressé par tout retour d'exp. sur Arch ARM en général, et sur portable (CrOS) en particulier.
Répondre