spostare e rinominare file con il terminale unix
Sommario:
Rinominare più file e directory con il comando
mv
può essere un processo noioso in quanto comporta la scrittura di comandi complessi con pipe, loop e così via.
Qui è dove il comando
rename
è utile. Rinomina i file dati sostituendo l'espressione di ricerca nel loro nome con la sostituzione specificata.
In questo tutorial, spiegheremo come utilizzare il comando
rename
per rinominare in batch i file.
Installazione di
rename
Esistono due versioni del comando
rename
con sintassi e funzionalità diverse. Useremo la versione Perl del comando
rename
.
Se questa versione non è installata sul tuo sistema, usa il gestore pacchetti della tua distribuzione Linux per installarla:
-
Ubuntu e Debian
sudo apt update
sudo apt install rename
CentOS e Fedora
sudo yum install prename
Arch Linux
yay perl-rename
Utilizzando
rename
Di seguito è riportata la sintassi generale per il comando
rename
:
rename perlexpr files
Il comando
rename
è sostanzialmente uno script Perl.
perlexpr
i
files
dati in base
perlexpr
regolare
perlexpr
specificata. Puoi leggere le espressioni regolari del Perl qui.
Ad esempio, il comando seguente cambierà l'estensione di tutti i file
.css
in
.scss
:
rename 's/.css/.scss/' *.css
Spieghiamo il comando in modo più dettagliato:
-
s/search_pattern/replacement/
- L'operatore di sostituzione..css
- Il modello di ricerca. È il primo argomento nell'operatore di sostituzione. Il comandorename
cercherà questo modello nel nome file specificato e, se trovato, lo sostituirà con l'argomento di sostituzione..scss
- La sostituzione. Il secondo argomento nell'operatore di sostituzione.*.css
- Tutti i file con estensione “.css”. Il carattere jolly (*
) è un simbolo utilizzato per rappresentare zero, uno o più caratteri.
Prima di eseguire il comando effettivo e rinominare i file e le directory è sempre una buona idea utilizzare l'opzione
-n
che eseguirà un "ciclo di prova" e mostrerà quali file verranno rinominati:
rename -n 's/.css/.scss/' *.css
L'output sarà simile al seguente:
rename(file-0.css, file-0.scss) rename(file-1.css, file-1.scss) rename(file-2.css, file-2.scss) rename(file-3.css, file-3.scss) rename(file-4.css, file-4.scss)
Per impostazione predefinita, il comando
rename
non sovrascrive i file esistenti. Utilizzare l'opzione
-f
che indica a
rename
di sovrascrivere i file esistenti:
rename -f 's/.css/.scss/' *.css
rename -v 's/.css/.scss/' *.css
file-0.css renamed as file-0.scss file-1.css renamed as file-1.scss file-2.css renamed as file-2.scss file-3.css renamed as file-3.scss file-4.css renamed as file-4.scss
rinominare
Conclusione
Il comando
rename
consente di rinominare più file contemporaneamente, usando le espressioni regolari Perl.
Revisione: Batch rinomina tutti i file e la musica MP3 con File Renamer
Se hai un sacco di foto, musica o altri file, rinominandoli singolarmente può essere un compito noioso. File Renamer ti consente di rinominarli tutti in una volta.
Batch rinomina file ed estensioni di file in Windows 10
Impara come rinominare in batch i file o cambiare l`estensione dei file per tutti i file in una cartella rapidamente e facilmente in Windows 10/8/7. Mass o Bulk rinominare più file.
Rinomina più nomi di file o cartelle tramite il menu di scelta rapida
Vuoi rinominare più nomi di file e cartelle tramite il menu di scelta rapida? Installa ContextReplace su Windows per sostituire file o nomi di cartelle contemporaneamente.