GNU/Linux >> Linux Esercitazione >  >> Linux

Come rinominare i file usando la riga di comando in Linux

Nel marzo dello scorso anno, il mio collega, Pulkit Chandak, ha scritto un eccellente articolo fornendo i modi migliori per eliminare, copiare, spostare e rinominare i file tramite la riga di comando di Linux. Questo articolo mira ad approfondire come rinominare i file in Linux.

Prima di iniziare, comprendi che molti comandi CLI possono aiutarti a rinominare i file in batch e faremo riferimento a quelli. Tuttavia, questo articolo non è quello. Qui imparerai come rinominare un file usando i comandi offerti nativamente da Linux.

mv command – il metodo migliore per rinominare i file

Il metodo più vecchio e collaudato per rinominare i file è con mv comando. Lo ricordo bene dai miei giorni in cui indossavo abiti da uomo più giovane, come amministratore di Unix.

Ad esempio, ho un file nella mia directory chiamato tevin.txt . Tuttavia, devo cambiarlo in michael.txt . Per raggiungere questo obiettivo con il mv il comando è facile.

# mv tevin.txt michael.txt

Non solo il mv comando rinomina tevin.txt e crea michael.txt , ma tevin.txt è sparito anche lui.

rinomina comando:il metodo migliore per la ridenominazione in batch

Il rinominare l'utilità è un'altra opzione per rinominare i file, ma è per la ridenominazione in batch dei file. Non è come il tuo solito comando Linux. Invece, a differenza della maggior parte dei comandi Linux scritti in C, il rinomina il comando è scritto in Perl ed è una parte di uno script che risiede in /usr/bin/ sulla maggior parte delle distribuzioni Linux. Installarlo è semplice.

# sudo apt install rename

La sintassi del comando è:

# rename 's/old-name/new-name/' files

Come puoi vedere, richiede un'espressione Perl obbligatoria racchiusa tra ' ' (vedi 's/vecchio-nome/nuovo-nome' nell'esempio di sintassi sopra. Tuttavia, viene fornito anche con argomenti opzionali. Questi sono:

  • -v – Verbose:stampa i nomi dei file rinominati con successo
  • -n – Nessuna azione:stampa i nomi dei file da rinominare, ma non rinominare
  • -f – Sovrascrivi:consente di sovrascrivere i file esistenti
  • -h – Aiuto:stampa SINOSSI e OPZIONI
  • -m – Manuale:stampa la pagina del manuale
  • -V – Versione:mostra il numero di versione
  • -e – Espressione:codice per agire sul nome del file
  • -Dichiarazione elettronica :codice per agire sul nome del file, come -e ma terminato con ';'
# rename [-v] [-n] [-f] perlexpr [files]

Usiamo la sintassi di base per rinominare i file nel nostro ~/personal directory per rinominare tutti i .txt file in .doc file.

# rename 's/\.txt$/.doc/' *

Come puoi vedere, l'esempio ha avuto successo. Ora rinominiamo tutti i file in .txt con -v Opzione (dettagliata).

# rename -v 's/\.doc$/.txt/' *

Non solo abbiamo rinominato con successo tutti i nostri file in .txt estensione, ma l'opzione -v ci fa anche sapere esattamente le modifiche apportate.

Proviamone un altro. In questo esempio, metteremo in maiuscolo la prima lettera di tutti i nomi di file. Useremo anche l'opzione -v ancora una volta in modo da poter vedere cosa sta succedendo.

# rename -v 's/./\U$&/' *

Abbastanza elegante, vero?

Tuttavia, le opzioni e la sintassi Perl richiesta a volte creano confusione. La padronanza del comando richiede tempo. Consiglio vivamente di utilizzare -n opzione (nessuna azione) per "testare" eseguire la rinomina comando prima di eseguirlo.

Altri comandi per rinominare i file

Esistono molti altri comandi che puoi utilizzare per rinominare i file in batch, come mmv , renameutils , qmv , qcp , imv , icp e vimv . Tuttavia, il mv comando è stato e continuerà ad essere il mio comando "vai a" per rinominare i file dalla riga di comando, a meno che non venga ridenominata in batch. In caso di ridenominazione in batch, rimango con rinomina .

Opzioni della GUI per rinominare i file

A condizione che tu disponga delle autorizzazioni corrette, puoi sempre rinominare i tuoi file tramite la GUI, utilizzando un file manager come Thunar, Dolphin o Nautilus. Inoltre, ci sono utilità come Métamorphose2, KRename, pyRenamer e molte altre che esistono rigorosamente per rinominare i file in batch nella GUI. Installiamo uno dei miei preferiti, pyRenamer, e lo proviamo.

L'installazione di pyRenamer è semplice.

# sudo apt install pyrenamer

Dopo l'installazione, avvia pyRenamer dal terminale.

# pyrenamer

Vedrai che hai molte schede e opzioni per rinominare in batch i tuoi file, come Modelli , Sostituzioni , ecc.  Per il nostro ultimo esempio, rinomineremo nuovamente in minuscolo i file che abbiamo messo in maiuscolo nell'esempio precedente.

Passare alla directory corretta (/home/mtravisrose/personal ). Nota i nostri tre file nella finestra in alto a destra. Seleziona le Sostituzioni scheda. In Sostituzioni comuni , controlla la Maiuscole box e Tutto minuscolo . Fai clic su Anteprima e assicurati che l'opzione prevista appaia nella finestra in alto a destra.

Una volta verificato che i nomi dei file rinominati nella finestra in alto a destra siano quelli desiderati, fai clic su Rinomina impegnarsi.

Sfortunatamente, la documentazione per lo strumento è scarsa e Aiuto offre solo Informazioni opzione. Se si utilizza il programma come utilità di ridenominazione del file batch della GUI, sarà un lavoro di tentativi ed errori. Forse è per questo che devi fare clic su Anteprima pulsante prima di confermare le modifiche?

Conclusione

Sebbene ci siano molti modi per rinominare i tuoi file, la maggior parte dei quali puoi facilmente eseguire tramite la GUI menzionata nel nostro articolo, ti consiglio vivamente di utilizzare la riga di comando e mv comando per rinominare un singolo file. Se si rinomina in batch, rinomina command è il percorso che vuoi intraprendere. Più tempo trascorri nel terminale, più esperto sarai un utente Linux.


Linux
  1. Come gestire i file di registro utilizzando Logrotate in Linux

  2. Come rinominare più file usando Trova?

  3. Come rinominare più file contemporaneamente in Linux

  4. Come ordinare i file in Linux usando il comando di ordinamento

  5. Come posso rinominare i file con spazi utilizzando la shell di Linux?

Come rinominare le directory in Linux

Come condividere file localmente su Linux utilizzando NitroShare

Come trovare i file usando la riga di comando nel terminale Linux

Elimina, copia, sposta e rinomina i file utilizzando la riga di comando in Linux

Come rinominare uno o più file in Linux

Come copiare file in Linux usando il comando CP