Rinominare i file è una delle attività più basilari che spesso è necessario eseguire su un sistema Linux. Puoi rinominare i file utilizzando un file manager GUI o tramite il terminale della riga di comando.
Rinominare un singolo file è facile, ma rinominare più file contemporaneamente può essere una sfida, soprattutto per gli utenti che non conoscono Linux .
In questo tutorial, ti mostreremo come utilizzare i comandi mv
e rename
per rinominare i file e directory.
Rinominare i file con il comando mv #
Il comando mv
(abbreviato in move) viene utilizzato per rinominare o spostare i file da da un luogo all’altro. La sintassi per il comando mv
è la seguente:
Il source
può essere uno o più file o directory e destination
può essere un singolo file o directory.
- Se specifichi più file come
source
,destination
deve essere una directory. In questo caso, i filesource
vengono spostati nella directory di destinazione. - Se specifichi un singolo file come
source
e ladestination
destinazione è una directory esistente, quindi il file viene spostato nella directory specificata. - Per rinominare un file, è necessario specificare un singolo file come
source
e un singolo file comedestination
destinazione.
Ad esempio, per rinomina il file file1.txt
come file2.txt
da eseguire:
Rinominare più file con il comando mv #
Il comando mv
può rinominare solo un file alla volta, ma può essere usato insieme ad altri comandi come come find
o all’interno di bash for
o while
esegue un ciclo per rinominare più file.
L’esempio seguente mostra come utilizzare il ciclo Bash for per rinominare tutti i .html
nella directory corrente modificando l’estensione .html
in .php
.
Analizziamo il codice riga per riga:
- La prima riga crea un
for
esegue un ciclo e scorre un elenco di tutti i file bordati con.html
. - La seconda riga si applica a ciascun elemento dell’elenco e sposta il file in un nuovo che sostituisce
.html
con.php
. La parte${file%.html}
utilizza l’espansione del parametro della shell per rimuovere la parte.html
dal nome del file. -
done
indica la fine del segmento del ciclo.
Ecco un esempio che utilizza mv
in combinazione con find
per ottenere lo stesso risultato di cui sopra:
Il sta passando tutti i file che terminano con .html
nella directory corrente a mv
uno per uno utilizzando -exec
opzione. La stringa {}
è il nome del file attualmente in fase di elaborazione.
Come puoi vedere dagli esempi precedenti, rinominare più file utilizzando mv
non è un compito facile in quanto richiede una buona conoscenza dello scripting Bash.
Rinominare i file con il comando rename #
Il rename
viene utilizzato per rinominare più file. Questo comando è più avanzato di mv
poiché richiede una conoscenza di base delle espressioni regolari.
Esistono due versioni di rename
comando con sintassi diversa. In questo tutorial, useremo la versione Perl del comando rename
. Se non hai questa versione installata sul tuo sistema, puoi installarla facilmente utilizzando il gestore di pacchetti della tua distribuzione.
-
Installa
rename
su Ubuntu e Debian -
Installa
rename
su CentOS e Fedora -
Installa
rename
su Arch Linux
La sintassi per il comando rename
è la seguente:
Il comando rename
rinominerà files
in base al perlexpr
espressione regolare. Puoi leggere di più sulle espressioni regolari perl qui.
Il seguente esempio cambierà tutti i file con l’estensione .html
a .php
:
Puoi utilizzare l’opzione -n
per stampare i nomi dei file da rinominare, senza rinominarli.
L’output sarà simile a questo:
Per impostazione predefinita, il comando rename
non sovrascrive i file esistenti. Passa l’opzione -f
per consentire la sovrascrittura dei file esistenti:
Di seguito sono riportati alcuni più comuni esempi di come utilizzare il comando rename
:
Conclusione #
Ti abbiamo mostrato come utilizzare mv
e rename
comandi per rinominare i file.
Ci sono anche altri comandi per rinominare i file in Linux, come mmv
. I nuovi utenti Linux che sono intimiditi dalla riga di comando possono utilizzare strumenti di rinomina batch GUI come Métamorphose.