Adam the Automator

Sei nuovo al sistema operativo Linux? In tal caso, le attività comuni come la ridenominazione di file e cartelle potrebbero essere diverse da quelle a cui sei abituato. Ma non ti preoccupare. Il concetto di rinominare i file in Linux è simile a come è fatto in altri sistemi operativi.

In questo tutorial, imparerai molti modi per rinominare file singoli e multipli in Linux, sia tramite GUI che eseguendo comandi in un terminale.

Iniziamo!

Indice

Prerequisiti

Per seguire questo tutorial, assicurati di avere quanto segue:

  • Questo tutorial utilizza Ubuntu 18.04 LTS, ma altre distribuzioni Linux funzioneranno.
  • Un account con accesso sudo / amministratore.

Rinominare i file con File Manager

Se siete abituati a gestire i file tramite GUI, iniziamo questo tutorial per rinominare i file con un file manager. GUI file manager sono pulite in quanto è possibile vedere i file in bella vista. Uno di quei file manager disponibili in Linux è l’ex file manager di GNOME, Nautilus. Questo tutorial dimostra rinominare i file utilizzando il file manager Nautilus.

Gli altri file manager di Linux sono Konqueror, Dolphin, Krusader, Thunar, Nemo file manager e Sunflower file manager. Questi file manager eseguono lo stesso compito, ma rinominare i file o le directory potrebbe essere leggermente diverso.

Avvia il tuo terminale, quindi esegui il comando qui sotto per installare Nautilus (install nautilus) con il gestore di pacchetti apt se non lo hai ancora sulla tua macchina. Il comando sudo eleva il comando con diritti sudo / amministratore.

sudo apt install nautilus

Rinominare un singolo file

Rinominare un singolo file in Nautilus richiede solo pochi clic, come in Esplora file di Windows.

Per rinominare un singolo file, apri Nautilus, fai clic con il pulsante destro del mouse sul file che desideri rinominare e scegli Rinomina, come mostrato di seguito.

Questo esempio si concentra sulla ridenominazione dei file, ma il processo è lo stesso per rinominare sia i file che le directory.

Rinominare un singolo file
Rinominare un singolo file

Ora digitare il nuovo nome del file per sostituire il nome del file originale, premere Invio o fare clic su Rinomina, e il gioco è fatto.

Inserimento di un nuovo nome file
Inserimento di un nuovo nome file

Rinominare più file utilizzando Nautilus File Manager

Come Windows, Ubuntu ti dà più opzioni su come si desidera rinominare più file contemporaneamente.

Per rinominare più file, selezionare tutti i file che si desidera rinominare, fare clic destro su uno di essi e scegliere Rinomina. Apparirà una finestra pop-up in cui è possibile scegliere come rinominare i file selezionati.

Rinominare più file utilizzando Nautilus.
Rinominare più file utilizzando Nautilus.

Qui di seguito, ci sono due opzioni tra cui scegliere a seconda di come si desidera rinominare i file selezionati.

  • Rinomina utilizzando un modello: consente di rinominare i file in incrementi.
  • Trova e sostituisci testo: consente di trovare e sostituire determinati testi nei nomi dei file.

Rinominare i file utilizzando un modello

Per rinominare i file utilizzando un modello, selezionare l’opzione Rinomina utilizzando un modello.

Ora inserisci il nome sostitutivo nel campo vuoto per rinominare i file con un modello, quindi fai clic sul pulsante +Aggiungi e scegli tra i modelli. Per questo tutorial, selezionare il primo (1,2,3,4) e fare clic su Rinomina. Questa opzione aggiunge numeri incrementali a ciascun file dopo il nome del file sostitutivo (Text1, Text2,…).

Rinominare i file utilizzando un modello
Rinominare i file utilizzando un modello

Si noti che i nomi dei file sono stati modificati in Testo, seguiti da numeri incrementali.

Verifica dei nomi dei file modificati in "Testo" con Num incrementale
Verifica dei nomi dei file modificati in “Testo” con Num incrementale

Trovare e sostituire le parole nei nomi dei file

Per rinominare più file con un nome specifico, selezionare l’opzione Trova e sostituisci testo.

Immettere il testo nel campo Testo esistente e il testo sostitutivo nel campo Sostituisci con, quindi fare clic su Rinomina per sostituire il testo. Questa opzione trova e sostituisce alcuni testi nei nomi dei file.

Sostituzione dei testi nei nomi dei file
Sostituzione dei testi nei nomi dei file

Ora, puoi vedere sotto che hai sostituito la parola “Testo” con “File” in ogni nome di file.

Verifica che la parola "Testo" è stata sostituita con la parola "File" su Ogni File
Verifica che la parola “Testo” è stata sostituita con la parola “File” su Ogni File

Ridenominazione di File con il Comando mv

Se l’esecuzione di comandi che è la vostra cosa, invece di navigare in una GUI, preparatevi a imparare come rinominare i file in un terminale. Rinominare i file nel terminale Linux è simile a farlo in altri ambienti da riga di comando, come PowerShell. Si eseguono i comandi per rinominare il nome del file originale con il nome del file di destinazione, e il gioco è fatto.

Ci sono due scenari nella ridenominazione di un file. Il primo è rinominare un file dalla directory di lavoro e il secondo è specificando il percorso completo. Dai un’occhiata alla sintassi del comando mv qui sotto per rinominare un file, dove source è il nome originale e destination è il nome sostitutivo.

# Rename a file or directory in the working directorymv <source> <destination># Rename a file by specifying the full pathmv <~/mydir/source> <~/mydir/destination>

Rinominare un singolo file con il comando mv

Mentre la sintassi del comando mv è ancora fresca nella tua mente, proviamo a rinominare un singolo file.

Per dimostrare come rinominare un singolo file e directory:

1. Avvia il tuo terminale, quindi esegui la serie di comandi qui sotto per creare una directory e due file di testo.

# Create a directory named 'test'mkdir test # Change directory to ~/testcd test # Create text files named 'file1.txt' and file2.txttouch file1.txt file2.txt 

2. Quindi, eseguire il comando ls per elencare i file all’interno della directory di lavoro. Sotto, puoi vedere quel file1.txt e file2.txt esiste nella directory ~ / test.

Elenco dei file nella directory di lavoro
Elenco dei file nella directory di lavoro

3. Eseguire uno dei comandi mv sotto per rinominare file1.txtcome file10.txt.

# Rename a file in the working directorymv file1.txt file10.txt# Rename a file by specifying the full pathmv ~/test/file1.txt ~/test/file10.txt

Rinominare una directory equivale a rinominare un file, in questo modo: mv ~/test ~/demo. Il simbolo ~ indica la directory home.

4. Infine, eseguire nuovamente il comando ls per elencare i file nella directory di lavoro.

Sotto, puoi vedere quel file1.txt è ora rinominato come file10.txt.

Conferma file1.txt viene rinominato come file10.txt
Conferma file1.txt viene rinominato come file10.txt

Rinominare più file con un ciclo For

Se sei troppo occupato con altre attività a portata di mano e vuoi rinominare tutti i file in una volta sola, dovrai utilizzare un’istruzione for loop come quella qui sotto.

Copia il codice qui sotto così com’è, incollalo nel tuo terminale e premi Invio. Il codice seguente analizza ogni file di testo nella directory di lavoro e rinomina i file con “File” seguito da un numero crescente.

# Declares variable with value set to 1i=1 # Scans each text file in the working directoryfor file in *.txt; # Iterate the command below until all files are scanneddo # Renames each file with "File" followed by incrementing number ($i)mv -- "$file" "File$i.txt" # Increments the variables current number value by 1 i=$((i+1)) done

Incollare il codice nel tuo terminale funziona bene, ma come buona pratica, è meglio se crei un file di script da eseguire.

Di seguito, puoi vedere in azione come il codice rinomina tutti i file.

Rinominare i file con un ciclo For
Rinominare i file con un ciclo For

Rinominare i file in Linux con l’utilità rinomina

Se stai rinominando un singolo file nella tua routine quotidiana, il comando mv sarà sufficiente. Ma forse stai puntando a rinominare più file con lo stesso schema contemporaneamente? Ad esempio, rinominare i file che iniziano con una determinata parola (file). In tal caso, installare l’utilità rinomina invece.

L’utilità rinomina rinomina più file, cambia i formati dei nomi dei file e sovrascrive i file.

Per installare l’utilità rinomina, eseguire uno dei comandi seguenti a seconda della distribuzione Linux su cui si sta lavorando.

# Install rename utility with the apt package manager for Ubuntu, Debian, and Linux Mintsudo apt install rename# Install rename utility with the dnf package manager for CentOS, Fedora, and Red Hatsudo dnf install prename# Install rename utility with the pacman package manager for Arch Linux / Manjaro Linuxsudo pacman -S perl-rename

Puoi vedere sotto la sintassi del comando rename.

rename <options> <perlexpr> <files>

Rinominare più file

Con la sintassi del comando rename in mente, è ora possibile rinominare i file che hanno lo stesso modello. La cosa fantastica del comando rename è che non è necessario dichiarare una funzione loop per rinominare più file come hai fatto nella sezione “Rinominare più file con un ciclo For”.

Forse vuoi rinominare i file con determinate parole su di essi. In tal caso, dai un’occhiata all’espressione regolare Perl ('s/file/myfile/') nel comando di esempio seguente. Le espressioni regolari Perl definiscono un modello di stringa basato sul linguaggio di programmazione Perl.

Per evitare di rinominare erroneamente altri file, elencare tutti i file interessati prima di rinominarli aggiungendo l’opzione -n, come mostrato di seguito.

rename -n 's/file/myfile/' *.txt
Elenco dei file interessati prima della ridenominazione
Elenco dei file interessati prima della ridenominazione

Ora esegui uno dei comandi rename qui sotto per sostituire la parola file con myfile nel nome di ogni file di testo all’interno della directory di lavoro o della directory ~/test/*.txt.

Nell’espressione Perl ('s/file/myfile/'), s denota la sostituzione, il che significa che stai rinominando i file. Si noti che l’opzione -v viene aggiunta per restituire i file rinominati dal comando.

# Replace 'file' with 'myfile' in each file's name in the working directoryrename -v 's/file/myfile/' *.txt# Replace 'file' with 'myfile' in each file's name in the ~/test directoryrename -v 's/file/myfile/' ~/test/*.txt

Di seguito, puoi vedere che ogni parola “file” nei file di testo viene rinominata in “myfile.”

Ridenominazione di un File con il Comando rinomina
Ridenominazione di un File con il rename Comando

Se si desidera rinominare tutti i file, invece, rimuovere l’estensione del file quando si specifica il percorso del file, per esempio, rename -v 's/file/myfile/' ~/test/*

la Modifica delle Estensioni

Altri di nomi di file, il rename comando anche di rinominare le estensioni dei file. Forse hai creato file con l’estensione del file sbagliata. In tal caso, si specificherà l’estensione del file da modificare in un’espressione Perl quando si esegue il comando rename.

Eseguire il comandorename di seguito per modificare l’estensione di tutti i file (*) da .txt a .html nella directory ~/test. Il simbolo $ nell’espressione Perl corrisponde alla fine di una stringa (.txt) a ciascun nome di file, quindi il comando cambia solo le estensioni di file .txt. E come con la ridenominazione di più file, aggiungi l’opzione -v per elencare ogni modifica apportata dal comando.

rename -v 's/.txt$/.html/' *.txt

Per rimuovere invece tutte le estensioni di file, rimuovere la stringa sostitutiva nell’espressione Perl, in questo modo: rename -v 's/.txt$//' *.txt

Come si vede nell’immagine qui sotto, il .estensioni txt cambiato in .html

Modifica delle estensioni dei file da .txt a .html
Modifica delle estensioni dei file da .txt a .html

Cambiando i nomi dei file in maiuscolo e minuscolo

Invece di estensioni di file errate, potresti avere a che fare con i nomi dei file in minuscolo e viceversa. Forse stai cercando di trovare un file specificamente in maiuscolo, non sapendo che il nome del file è in minuscolo.

Linux è case-sensitive, quindi assicuriamoci di avere il caso della lettera di ogni nome di file. Letter case è fondamentalmente la distinzione dei testi tra minuscolo e maiuscolo.

Eseguire uno dei comandirename di seguito per modificare tutti i nomi di file minuscoli (a-z) nella directory di lavoro (*) in maiuscolo (A-Z) e viceversa.

# Change filename from lowercase to uppercaserename -v 'y/a-z/A-Z/' *# Change filename from uppercase to lowercaserename -v 'y/A-Z/a-z/' *

Puoi vedere di seguito entrambi i risultati della modifica di un caso di lettera di nome file.

Cambiare il Nome del File da Minuscolo a Maiuscolo e Viceversa
Cambiare il Nome del File da Minuscolo a Maiuscolo e Viceversa

Sostituzione e la Rimozione degli Spazi nei Nomi di File

Come un nome di file lettera del caso, si potrebbe avere difficoltà a trovare i file se hanno spazi nei nomi di file. Risolviamo questo sostituendo gli spazi con un carattere o rimuovendo del tutto gli spazi.

Eseguire il comandorename di seguito per sostituire gli spazi in tutti i nomi di file con un carattere di sottolineatura (_) nella directory di lavoro. Poiché underscore è un metacarattere, sfuggilo con una barra rovesciata (\_) per dichiarare letteralmente il carattere di sottolineatura. I metacaratteri sono caratteri speciali con significati speciali in un programma per computer.

Si noti che g nell’espressione Perl dice al comando di sostituire tutte le corrispondenze (spazi) e non solo la prima.

rename -v 's/ /\_/g' *

Di seguito, puoi vedere che il comando ha sostituito tutti gli spazi con caratteri di sottolineatura.

Sostituzione di spazi con caratteri di sottolineatura in un nome di file
Sostituzione di spazi con caratteri di sottolineatura in un nome di file

Per rimuovere tutti gli spazi in un nome di file invece di riempirli con un carattere, eseguire il comando qui sotto.

Nell’espressione Perl sottostante, l’asterisco dopo lo spazio vuoto (/ *) corrisponde a tutte le occorrenze di spazi in un nome di file e non solo al primo. Il carattere di sostituzione è vuoto (//), quindi il comando rename rimuove tutti gli spazi (g).

rename -v "s/ *//g" *

Ora puoi vedere sotto che tutti gli spazi vengono rimossi da ogni nome di file.

Rimozione di tutti gli spazi nei nomi di file
Rimozione di tutti gli spazi nei nomi dei file

Capitalizzare la Prima Lettera di Ogni Parola in un File di Nome

Se si preferisce mantenere gli spazi e rendere maiuscola la prima lettera di ogni parola in un file di nome, invece, avrete bisogno di una più complessa espressione Perl. Dai un’occhiata al comando di esempio qui sotto.

L’espressione Perl sottostante corrisponde a qualsiasi singolo carattere (\w) in un limite di parole (\b) purché il carattere non sia un punto né un apostrofo (?<!). Il comando rename tradurrà quindi quella lettera in maiuscolo (u$&).

rename -v 's/(?<!)\b\w*/\u$&/g' *

Di seguito, puoi vedere che ogni parola nei nomi dei file inizia con una lettera maiuscola lasciando intatte le estensioni dei file.

Maiuscola la prima lettera di ogni parola nei nomi dei file
Maiuscola la prima lettera di ogni parola nei nomi dei file

Conclusione

Nel corso di questo tutorial, hai imparato molti modi per rinominare i file Linux tramite GUI e terminale della riga di comando. Ora hai una solida comprensione di come manipolare i nomi per singoli e più file contemporaneamente.

Perché non imparare Linux shell scripting, e creare uno script per automatizzare rinominare i file in Linux?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.