Come rinominare i file in una directory come il seguente file:PMC21375.pdf.txt
, devo essere rinominato in 21375.txt
. cioè, devo rimuovere entrambi i PMC
e pdf
da ogni nome di file.
Risposta accettata:
Con rename
di Perl :
rename 's/(PMC|.pdf)//g' *pdf.txt
Demo :
$ ls *txt
PMC21375.pdf.txt
$ rename -n 's/(PMC|.pdf)//g' *txt
PMC21375.pdf.txt -> 21375.txt
dalla shell
richiesta. È molto utile, puoi inserire del codice perl come faccio io in una sostituzione.
Puoi rimuovere il -n
(interruttore della modalità di funzionamento a secco) quando i test diventano validi.
Ci sono altri strumenti con lo stesso nome che potrebbero o meno essere in grado di farlo, quindi stai attento.
Se esegui il seguente comando (linux
)
$ file $(readlink -f $(type -p rename))
e hai un risultato come
.../rename: Perl script, ASCII text executable
allora questo sembra essere lo strumento giusto =)
In caso contrario, per renderlo predefinito (di solito è già il caso) su Debian
e derivati come Ubuntu
:
$ sudo update-alternatives --set rename /path/to/rename
(sostituisci /path/to/rename
al percorso del tuo perl's rename
comando.
Ultimo ma non meno importante, questo strumento è stato originariamente scritto da Larry Wall, il padre del Perl.