Mardi - Traitement Récursif des Extensions
16/03/2004
Renommer un groupe de fichiers de manière récursive en n’utilisant qu’une seule commande. Le script ‘rext’ fait la même chose que celui de l’astuce de Lundi sauf qu’il applique la commande à tous les fichiers sélectionnés dans la hiérarchie du répertoire. Il utilise le script ‘ext’.
$ cat rext #!/bin/bash for dir in $(find . -type d); do pushd $dir > /dev/null ext $1 $2 $3 popd > /dev/null done
Utilisez ‘rext’ comme suit pour copier (cp) *.php en leur équivallent avec l’extension .html :
$ rext cp php html
Utilisez toute commande similaire, telles que ‘mv’, avec le script ‘rext’.
Ajoutez une gestion de paramètre au script :
$ cat rext #!/bin/bash
if [ "$3" = "" ] || [ "$4" != "" ]; then echo 'Exécute "command file.ext1 file.ext2" sur les fichiers trouvés ' echo ' dans la hiérarchie du répertoire' echo ' eg "cp html php" pour copier tous les fichiers html en leur équivalents php' echo ' "mv html php" pour changer tous les fichiers html en fichiers php' echo "Usage: ${0##*/} command ext1 ext2" exit fi
for dir in $(find . -type d); do pushd $dir > /dev/null ext $1 $2 $3 popd > /dev/null done
Si vous souhaitez en apprendre plus sur Mac OS X Unix visitez le Learning Center
cliquez ici.
- Pour les débutants : Le Tutoriel Mac OS X Unix
- Pour plus d’informations sur des sujets spécifiques : Mac OS X Advanced Unix
- Pour des réponses à des problèmes communs : Mac OS X How To
Chargement
Commentaires récents