Come rinominare file e directory in Linux

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 file source vengono spostati nella directory di destinazione.
  • Se specifichi un singolo file come source e la destination 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 come destination 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.

Write a Comment

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *