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)?
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)?
Réponses:
Avec Homebrew , un gestionnaire de paquets pour OS X:
brew install rename
Ensuite, vous pouvez exécuter les mêmes rename
commandes que sous Linux.
rename-5.22
(où 22 est la version installée) au lieu derename
sudo mv /opt/local/bin/rename-XXX /opt/local/bin/rename
Utilisez judicieusement le pouvoir de ZSH (tapez zsh
le terminal si vous faites partie de ces pauvres âmes qui ne l'utilisent pas par défaut):
autoload zmv
zmv '(*).htm' '$1.html'
ZMV suit la syntaxe MMV .
*user*.html
, modifiez l'extension .html
et toutes les occurrences de rc
en final
: zmv '(*user*).htm' '${1//rc/final}.html'
@ghoppe: je pense que l' exemple de zmv dans votre réponse nécessite des -w
parenthèses autour de son caractère générique.
*
au lieu de .*
tout obtenir. *?
semble fonctionner comme non-gourmand .*?
. 2) pour moi, ^
et $
pour le début et la fin de la chaîne a semblé lui faire correspondre à rien
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
Vous pouvez essayer d'installer MacPorts et installer le renameutils
paquet:
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.
qmv
on dirait que ça fait le travail.
qmv
est un excellent outil, bien que
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, vous pouvez utiliser le renommage du paquet perl de Debian . Ce n'est qu'un fichier à télécharger. Mettez-le où vous voulez et chmod pour qu'il soit exécutable.
Une alternative est l' outil zmv fourni 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 Mac, j'utilise gratuitement Aristotle Pagaltzis rename
, qui, comme Debian, est basé 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 de aiff à aifc.
find . -iname "*.aiff" -exec bash -c 'mv "$0" "${0%\.aiff}.aifc"' {} \;
Si vous recherchez une interface graphique, essayez Name Mangler . Il a une fonctionnalité "aperçu" qui montre ce qui se passera si vous suivez le renommage.
Si vous aimez le multisélection de Sublime Text, vous pouvez l'utiliser avec qmv:
qmv --editor = "/ usr / bin / s3 -w" fichiers
Je me suis contenté d'aller de l'avant et de trouver mon préféré, perl-rename, que j'ai vu, donnant la rename
commande suivante: où aide ressemble à ceci:
Usage: rename [-v] [-n] [-f] perlexpr [filenames]
C'est comme ça que je sais que j'ai celui que j'aime.
Pour Mac, même dans Homebrew, il en existe d’autres où je me souviens vaguement d’avoir eu des problèmes. Donc, ce n'est pas le rename
paquet, et ce n'est pas non plus le renameutils
paquet nongnu .
Je l'ai obtenu à partir d'ici et vient de faire l'installation comme ils le mentionnent: https://github.com/subogero/rename
rename
sur Mac OS X: macosxhints.com/article.php?story=20050630022203488