Accueil > Astuces OSXFAQ > Mardi - Traitement Récursif des Extensions

Mardi - Traitement Récursif des Extensions

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

Parlez de cette astuce dans le Learning Center forum (en anglais sur osxfaq.com)


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

Thierry Astuces OSXFAQ

  1. Pas encore de commentaire
  1. Pas encore de trackbacks
Vous devez être identifié pour poster un commentaire