Accueil > Astuces OSXFAQ > Lundi - Traitement des Extensions

Lundi - Traitement des Extensions

Renommer un groupe de fichiers en une seule commande.

Cela *ne* marchera *pas* :

$ mv *.html *.php
usage: mv [-fi] source target
       mv [-fi] source ... directory

Le script suivant, appelé ‘ext’ pour ‘basé sur l’extension’, vous permettra d’y arriver :

$ cat ext

#!/bin/bash

shopt -s nullglob

for file in *.$2; do

$1 “$file” “${file%.$2}.$3″

done

Utilisez ‘ext’ comme suit pour renommer (mv) *.html de façon à obtenir une extension du type .php :

$ ext mv html php

Utilisez toute commande similaire, telle que ‘cp’, dans le script ‘ext’.

Ajoutez une vérification de paramètre dans le script :

$ cat ext
#!/bin/bash

if [ "$3" = "" ] || [ "$4" != "" ]; then echo 'For each file *.ext1, executes "command file.ext1 file.ext2"' echo ' eg "cp html php" pour copier tous les fichiers html en équivallents php' echo ' "mv html php" pour renommer tous les fichiers html et leur attribuer une extension php' echo "Usage: ${0##*/} command ext1 ext2" exit fi
# cette option permet de retourner null et non *.$2 si aucun fichier ne correspond à *.$2 shopt -s nullglob
for file in *.$2; do $1 "$file" "${file%.$2}.$3" 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