Rinominare e ordinare tutti i caratteri di file e cartelle
Questi comandi sono da usare con cautela fate attenzione a non toccare le cartelle con i file di sistema (più precisamente la cartella home e i suoi file nascosti).
Come utente Linux, probabilmente hai già familiarità con l’utilizzo del comando mv per rinominare un file. Il compito diventa un po’ più difficile quando è dobbiamo rinominare più file contemporaneamente.
Uno dei processi per rinominare in batch consiste nel modificare tutti i nomi dei file in lettere minuscole. Un modo è con l’utilità nativa e un po’ di scripting Bash, gli altri metodi coinvolgono gli strumenti rename e mmv, che possono essere già installati, per impostazione predefinita o meno, sulla tua distribuzione GNU/Linux.
In questa guida, esamineremo vari esempi da riga di comando per rinominare tutti i file da lettere maiuscole a minuscole su Linux. Alcuni comandi funzioneranno solo per i file, altri per le cartelle e alcuni comandi funzioneranno in modo ricorsivo. Dai un’occhiata a tutti i diversi esempi di seguito per decidere quale/i comando/i utilizzare più adatto alle tue esigenze.
In questo tutorial imparerai:
Come rinominare o ordinare tutti i file da maiuscolo a minuscolo usando i comandi mv, rename o mmv
Come installare rename e mmv sulle principali distribuzioni Linux
Rinomina i file da maiuscolo a minuscolo con il comando mv
Rinominare più file da maiuscolo a minuscolo con il comando mv è più semplice se conosci un po’ di script Bash. Le utilità rename e mmv rendono molto più semplice rinominare più file e ci consentono di eseguire una rinominare piuttosto avanzata senza utilizzare comandi complessi.
Gli esempi seguenti mostreranno come utilizzare tutti e 3 i metodi per rinominare i file da maiuscolo a minuscolo. Prima di iniziare, se scegli di utilizzare i comandi rename o mmv, assicurati che siano installati sul tuo sistema utilizzando il comando appropriato di seguito.
Per installare rename o mmv su Ubuntu, Debian e Linux Mint:
sudo apt install rename
sudo apt install mmv
Per installare rename o mmv su CentOS, Fedora, AlmaLinux e Red Hat:
sudo dnf install prename
sudo dnf install mmv
Per installare rename o mmv su Arch Linux e Manjaro:
sudo pacman -S perl-rename
git clone https://aur.archlinux.org/mmv.git cd mmv/ makepkg -si
Per mostrarvi i comandi di seguito, ho creato delle cartelle e files come segue:
1 Il comando seguente rinominerà i file maiuscoli in caratteri minuscoli utilizzando il comando mv e altri strumenti nativi:
for i in $( ls | grep [A-Z] ); do mv -i $i `echo $i | tr 'A-Z' 'a-z'`; done
Nel caso in cui utilizzi caratteri cirillici o altri caratteri UTF8, puoi provare quanto segue per modificare i nomi dei file in maiuscolo:
for i in $( ls ); do mv -i $i `echo $i | PERLIO=:utf8 perl -pe '$_=uc'`; done
2 In alternativa, è molto più conciso usare il comando rename per cambiare tutti i nomi dei file in lettere minuscole:
rename -f 'y/A-Z/a-z/' *
3 Una terza opzione consiste nell’usare il comando mmv per rinominare tutte le lettere maiuscole in minuscole. Questa potrebbe essere ancora l’opzione più semplice:
mmv '*' '#l1'
4 Possiamo utilizzare il metodo seguente per modificare in modo ricorsivo tutti i nomi di file e cartelle in minuscolo:
find . -depth | xargs -n 1 rename 's/(.*)/([^/]*)/$1/L$2/' {} ;
5 Questo comando cambierà solo i nomi dei file da maiuscolo a minuscolo, in modo ricorsivo:
find . -depth -type f | xargs -n 1 rename 's/(.*)/([^/]*)/$1/L$2/' {} ;
6 Puoi anche cambiare l’ opzione -type in modo che il comando successivo possa cambiare i nomi delle directory solo da maiuscolo a minuscolo, in modo ricorsivo:
find . -depth -type d | xargs -n 1 rename 's/(.*)/([^/]*)/$1/L$2/' {} ;
7 Puoi anche fare l’esatto contrario adattando leggermente questi comandi. Ad esempio, questo comando cambierà tutti i nomi di file minuscoli in maiuscoli:
for i in $( ls | grep [a-z] ); do mv -i $i `echo $i | tr 'a-z' 'A-Z'`; done
8 L’ utilità rename può essere utilizzata anche per modificare tutti i nomi di file minuscoli in maiuscoli:
rename -f 'y/a-z/A-Z/' *
9 Ancora una volta, con forse l’opzione più semplice di tutte, mmv puoi rinominare tutti i file da minuscolo a maiuscolo con questo comando:
mmv '*' '#u1'
10 Ecco come rinominare in modo ricorsivo tutti i file e le directory da minuscolo a maiuscolo:
find . -depth | xargs -n 1 rename 's/(.*)/([^/]*)/$1/U$2/' {} ;
11 Ecco come rinominare i file in modo ricorsivo solo da minuscolo a maiuscolo:
find . -depth -type f | xargs -n 1 rename 's/(.*)/([^/]*)/$1/U$2/' {} ;
12 Infine, ecco un esempio per rinominare in modo ricorsivo le directory solo da minuscolo a maiuscolo:
find . -depth -type d | xargs -n 1 rename 's/(.*)/([^/]*)/$1/U$2/' {} ;
Grazie! per l’utilizzo della Guida di Linuxiano.
Trovi questo tutorial utile? Condividi con i tuoi amici per tenerlo in vita.
Sii il primo a commentare, apprezzo i tuoi suggerimenti. Per ulteriori domande potete commentare qui sotto.
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!
Hai dubbi o problemi? Ti aiutiamo noi!
Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.