J'avais l'habitude de renommer le fichier sous Linux via une commande de changement de nom:
rename 's/old_pattern/new_pattern/g' *glob
Y a-t-il quelque chose de similaire dans Mac OS X (Snow Leopard)?
Clumsy moi:
for i in *.yourfiles; do mv "$i" "`echo $i | sed 's/old/new/g'`"; done
Et si vous voulez l'utiliser comme je le fais souvent de cette façon:
rename 's/old/new/' *.files
Je recommande d'utiliser ce petit script dans ~/bin/rename:
#!/usr/bin/env zsh
SUBSEXPR=$1
shift
for i in $@; do mv $i `echo "$i" | sed $SUBSEXPR`; done
Avec Homebrew , un gestionnaire de paquets pour OS X:
brew install rename
Ensuite, vous pouvez exécuter les mêmes commandes rename
que sous Linux.
Utilisez le pouvoir de ZSH à bon escient (tapez zsh
dans le terminal si vous êtes l’une de ces pauvres âmes qui ne l’utilisent pas par défaut):
autoload zmv
zmv '(*).htm' '$1.html'
ZMV suit la syntaxe MMV .
Vous pouvez essayer d’installer MacPorts et d’installer le paquetage renameutils
:
renameutils @ 0.10.0 (sysutils)
renameutils est un ensemble de programmes conçus pour rendre le changement de nom de fichier plus rapide et moins encombrant.
Il existe différentes versions de renommer. On dirait que vous recherchez celui basé sur Perl.
Une version de cet utilitaire est fournie avec le module Perl File :: Rename . Vous pouvez l'installer avec quelque chose comme Sudo cpan -i File::Rename
.
Ou bien, vous pouvez utiliser le renommerà partir du Perlpaquet de Debian . Ce n'est qu'un fichier à télécharger. Mettez-le où vous voulez et chmodit pour qu'il soit exécutable.
Une alternative est l'outil zmvfourni avec zsh . Il n’a pas la même syntaxe, mais il est fourni avec votre système d’exploitation et il peut facilement prendre en charge de nombreux cas courants.
Sur les Mac, j'utilise la variable rename
librement disponible d'Aristotle Pagaltzis, qui, comme Debian, est basée sur Perl. Vous pouvez l'obtenir ici . Ou visitez ici pour le lire en premier - toujours une bonne idée.
Vous devez placer cela quelque part dans votre $PATH
et le rendre exécutable (chmod +x rename
), puis vous êtes prêt à partir.
Cela ne devrait pas être difficile mais apparemment ça l'est. Exemple, je veux renommer tous les fichiers de l'extension aiff en aifc.
find . -iname "*.aiff" -exec bash -c 'mv "$0" "${0%\.aiff}.aifc"' {} \;
Si vous recherchez une interface graphique, essayez Nom Mangler . Il a une fonctionnalité "aperçu" qui montre ce qui se passera si vous suivez le renommage.
la commande équivalente dans renommant (multiplate-forme) est
$ renamer --regex --find 'old_pattern' --replace 'new_pattern' *glob
Si vous aimez le multisélection de Sublime Text, vous pouvez l'utiliser avec qmv:
qmv --editor = "/ usr/bin/s3 -w" fichiers