Rinomina file e directory utilizzando il terminale Linux
Possiamo rinominare file e directory con i comandi rename
e mv
nel terminale Linux. Il comando mv
può rinominare solo un file alla volta, ma il comando rename
può rinominare più file contemporaneamente.
Rinomina file e directory usando il comando mv
Il comando mv
può rinominare file e directory. Viene anche utilizzato per spostare file e directory da una posizione a un’altra.
Sintassi del comando mv
:
mv [OPTIONS] source destination
La source
può essere uno o più file o directory e la destination
è sempre un singolo file o directory.
Se abbiamo più file o directory come origine, la destinazione è sempre directory. In questo caso, tutti i file e le directory di origine vengono spostati nella directory di destinazione.
Se abbiamo un singolo file come origine e una directory come destinazione, il file di origine viene spostato nella directory di destinazione.
Per rinominare un file usando mv
, entrambi i parametri di origine e di destinazione nel comando mv
devono essere file.
mv helloworld.py main.py
Rinomina il file helloworld.py
in main.py
.
Possiamo anche rinominare in modo simile la directory.
mv Programs Python-Programs
Rinomina la directory Programs
in Python-Programs
.
Rinomina più file con il comando mv
Come sappiamo, il comando mv
può rinominare solo un file alla volta. Potremmo usare i cicli for
o while
per rinominare più file.
for f in *.png; do
mv -- "$f" "${f%.png}.jpg"
done
Rinomina tutti i file nella directory corrente con un’estensione da .png
a .jpg
.
Rinomina file e directory usando il comando rename
Il comando rename
è leggermente avanzato rispetto al comando mv
e può essere utilizzato per rinominare più file in un unico passaggio.
Per installare la versione Perl
del comando rename
in Ubuntu
e Debian
, usa il comando:
sudo apt install rename
Per installare la versione Perl
del comando rename
in CentOS
e Fedora
, usa il comando:
sudo yum install prename
Per installare la versione Perl
del comando rename
in Arch Linux
, usa il comando:
yay perl-rename ## or yaourt -S perl-rename
Sintassi del comando rename
:
rename [options] 's/old/new/' files
Esempio: Rinomina file con il comando rename
rename 's/.png/.jpg/' *.png
Rinomina tutti i file .png
nella directory corrente in .jpg
.
Per stampare i nomi dei file rinominati, usiamo l’opzione -v
nel comando rename
.
rename -v 's/.jpg/.png/' *.jpg
Produzione:
1.jpg renamed as 1.png
bubbleheads.jpg renamed as bubbleheads.png
demo.jpg renamed as demo.png
hiss.jpg renamed as hiss.png
invoice.jpg renamed as invoice.png
Rinomina tutti i file .jpg
nella directory corrente in .png
e stampa ogni file rinominato nel terminale.
Esempio: convertire i nomi dei file in minuscolo
rename 'y/A-Z/a-z/' *
Converte tutti gli alfabeti del nome del file in maiuscolo nella directory corrente in minuscolo.
Esempio: convertire i nomi dei file in maiuscolo
rename 'y/a-z/A-Z/' *
Converte tutti gli alfabeti del nome del file in minuscolo nella directory corrente in maiuscolo.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn