Les backticks n'apparaissent pas dans votre commentaire - vous devriez probablement ajouter ceci comme réponse ou éditer votre question pour inclure votre solution.
Paul R
1
La meilleure solution rapide que j'ai trouvée consiste à utiliser l'Automator intégré. Consultez cet article pour obtenir de l'aide étape par étape: tuaw.com/2008/11/11/…
lundi
Je voterais sur la réponse de nilay si ce n'était pas un commentaire ...
voidstate le
Réponses:
49
Avec Homebrew , un gestionnaire de paquets pour OS X:
brew install rename
Ensuite, vous pouvez exécuter les mêmes renamecommandes que sous Linux.
mais cela permet-il également le remplacement de regex? Cela semble être juste une sorte de shell globbing amélioré.
mathématiques
4
@brubelsabs: Oui, zmv peut remplacer les expressions rationnelles . Pour les fichiers qui correspondent *user*.html, modifiez l'extension .htmlet toutes les occurrences de rcen final: zmv '(*user*).htm' '${1//rc/final}.html' @ghoppe: je pense que l' exemple de zmv dans votre réponse nécessite des -wparenthèses autour de son caractère générique.
Chris Johnsen
J'aime beaucoup cette suggestion car il n'est pas nécessaire d'installer quoi que ce soit sur un Mac (comme brasser), mais elle vous permet d'utiliser la syntaxe facile comme mmv.
Hay
+1 Nice. Couple de différences de regexs que je suis habitué à: 1) utiliser *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
user56reinstatemonica8
21
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
votre script ne fonctionne pas pour moi "renommer ACDC AC-DC ACDC *" résultat-> "ssed: ne peut pas lire ACDC: aucun fichier ou répertoire de ce type", j'ai installé rename util depuis linux et cela fonctionne maintenant
holms
5
Vous pouvez essayer d'installer MacPorts et installer le renameutilspaquet:
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.
Je n'ai pas dit que c'était le cas. qmvon dirait que ça fait le travail.
Lajuette
qmvest un excellent outil, bien que
nécessitant
4
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.
Le nom renommé est ce que cette question montre comme exemple.
Quack Quotote
2
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 $PATHet le rendre exécutable ( chmod +x rename), puis vous êtes prêt à partir.
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.
Je me suis contenté d'aller de l'avant et de trouver mon préféré, perl-rename, que j'ai vu, donnant la renamecommande 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 renamepaquet, et ce n'est pas non plus le renameutilspaquet nongnu .
rename
sur Mac OS X: macosxhints.com/article.php?story=20050630022203488Réponses:
Avec Homebrew , un gestionnaire de paquets pour OS X:
Ensuite, vous pouvez exécuter les mêmes
rename
commandes que sous Linux.la source
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):ZMV suit la syntaxe MMV .
la source
*user*.html
, modifiez l'extension.html
et toutes les occurrences derc
enfinal
: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 à rienClumsy moi:
Et si vous voulez l'utiliser comme je le fais souvent de cette façon:
Je recommande d'utiliser ce petit script dans ~ / bin / rename:
la source
Vous pouvez essayer d'installer MacPorts et installer le
renameutils
paquet:la source
qmv
on dirait que ça fait le travail.qmv
est un excellent outil, bien queIl 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.
la source
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.la source
Cela ne devrait pas être difficile mais apparemment ça l'est. Exemple, je veux renommer tous les fichiers de l'extension de aiff à aifc.
la source
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.
la source
la commande équivalente dans renamer (multiplate-forme) est
la source
Si vous aimez le multisélection de Sublime Text, vous pouvez l'utiliser avec qmv:
la source
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 lerenameutils
paquet nongnu .Je l'ai obtenu à partir d'ici et vient de faire l'installation comme ils le mentionnent: https://github.com/subogero/rename
la source