Posso parlare solo per Debian. I due programmi si chiamano
/usr/bin/rename.ul
dall'util-linux
package (da qui il suffisso .ul)/usr/bin/prename
dalperl
pacchetto
L'attuale rename
il comando funziona tramite il /etc/alternatives
meccanismo, per cui
/usr/bin/rename
è un collegamento simbolico a/etc/alternatives/rename
/etc/alternatives/rename
è un collegamento simbolico a/usr/bin/prename
Lo stesso problema mi ha infastidito su Cygwin, che è un prodotto Red Hat, quindi dovrebbe essere più simile a Fedora. Lunedì darò un'occhiata al mio portatile aziendale. E ricordo che la ridenominazione di Perl ha funzionato lì a volte. Probabilmente prima che installassi util-linux
.
Se installi Perl-rinomina in /usr/local/bin
avrà la precedenza su rename
da util-linux
. Lo stesso vale per la manpage quando è installata in /usr/local/share/man/man1/
.
Ho appena creato un pacchetto Perl-rename separato su Github:https://github.com/subogero/rename
Puoi installarlo usando cpan, che è il repository perl simile a pip per python.
Ecco un tutorial sull'utilizzo di cpan.
Se provi a eseguirlo, rinominalo, avrà questo aspetto
rinomina --help
call:rinomina da a file...
Per installare la ridenominazione di perl puoi fare quanto segue. Potrebbe essere necessario installare alcune dipendenze, in genere puoi semplicemente premere invio
pan
cpan1> installa File::Rinomina
CPAN:memorizzabile caricato ok (v2.20)
Andando a leggere '/root/.cpan/Metadata'
Il database è stato generato il mercoledì 30 settembre 2015 alle 08:17:02 GMT
Esecuzione dell'installazione per il modulo 'File::Rinomina'
....
Esecuzione dell'installazione di build
Installazione di /usr/local/share/man/man1/rename.1
Installazione di /usr/local/share/perl5/File/Rename.pm
Installazione di /usr/local/share/man/man3/File::Rename.3pm
Installazione di /usr/local/bin/rename
Scrivere /usr/local/lib64/perl5/auto/File/Rename/.packlist
RMBARKER/File-Rename-0.20.tar.gz
./Build install -- OK
È così che installeresti la ridenominazione da cpan.
Il prossimo è farlo funzionare sul tuo sistema. Poiché potresti avere più di una ridenominazione installata.
which rename
/usr/bin/rename
Quando in realtà vuoi questo.
/usr/local/bin/rename --help
Usage:
rename [ -h|-m|-V ] [ -v ] [ -n ] [ -f ] [ -e|-E *perlexpr*]*|*perlexpr*
[ *files* ]
Options:
-v, -verbose
Verbose: print names of files successfully renamed.
-n, -nono
No action: print names of files to be renamed, but don't rename.
-f, -force
Over write: allow existing files to be over-written.
-h, -help
Help: print SYNOPSIS and OPTIONS.
-m, -man
Manual: print manual page.
-V, -version
Version: show version number.
-e Expression: code to act on files name.
May be repeated to build up code (like "perl -e"). If no -e, the
first argument is used as code.
-E Statement: code to act on files name, as -e but terminated by
';'.
L'ho appena inserito in /usr/bin/
ma con un nome leggermente diverso per assicurarmi di non interrompere nessuno script/programma esistente che dipende da quello vecchio.
ln -s /usr/local/bin/rename /usr/bin/rename.pl