GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come rinominare i file in Linux

Introduzione

Linux offre diverse opzioni per rinominare i file, incluso l'utilizzo della GUI e più comandi del terminale dedicati. Ciò rende relativamente facile rinominare i singoli file, ma può essere difficile rinominare più file contemporaneamente.

In questo tutorial, esamineremo diversi comandi che puoi utilizzare nel terminale Linux per rinominare i file in Linux.

Prerequisiti

  • Un sistema che esegue una distribuzione Linux
  • Un account con privilegi sudo
  • Accesso alla finestra del terminale/riga di comando
  • Accesso a un editor di testo, come Vim o Nano

Rinomina i file con il comando mv

Il mv di Linux Il comando (sposta) viene utilizzato per spostare file e directory dal terminale. Utilizza la seguente sintassi:

mv [options] [source] [destination]

Se specifichi una directory come destinazione quando utilizzi mv comando, il file di origine si sposta in quella directory. Se la destinazione è un altro nome file, il mv comando rinomina invece il file di origine con quel nome.

Rinomina un singolo file con il comando mv

Usando il mv comando con la sua sintassi predefinita permette di rinominare un singolo file:

mv [options] [current file name] [new file name]

Ad esempio, se vogliamo rinominare example1.txt in esempio2.txt , useremmo:

mv example1.txt example2.txt

Poiché non c'è output se il comando ha esito positivo, stiamo usando ls comando per verificare se il nome è cambiato:

ls -l

Rinomina più file con il comando mv

Da solo, il mv comando rinomina un singolo file. Tuttavia, combinandolo con altri comandi puoi rinominare più file contemporaneamente.

Un metodo consiste nell'usare il find comando per selezionare più file con un nome simile, quindi utilizzare il mv comando per rinominarli:

find . -depth -name "[current file name element]" -exec sh -c 'f="{}"; mv -- "$f" "${f%[current file name element]}[new file name element]"' \;

Usando questa sintassi, il find Il comando definisce un elemento del nome file corrente come parametro di ricerca. Successivamente, -exec esegue il mv comando su tutti i file che corrispondono alla ricerca, cambiando i nomi dei file correnti con quello nuovo.

Ad esempio, se abbiamo example1.txt , esempio2.txt e example3.txt e vuoi cambiare l'estensione in .pdf :

find . -depth -name "*.txt" -exec sh -c 'f="{}"; mv -- "$f" "${f%.txt}.pdf"' \;

Un altro metodo consiste nell'usare il mv comando come parte di un <strong>for</strong> ciclo in uno script bash.

Utilizzando lo stesso esempio, inizia creando e aprendo un file di script bash utilizzando un editor di testo come Nano:

sudo nano rename_files.sh

Aggiungi le seguenti righe allo script:

#!/bin/bash
for f in *.txt; do
    mv -- "$f" "${f%.txt}.pdf"
done

Nello script sopra:

  • La prima riga indica allo script di cercare tutti i file nella directory corrente che terminano con .txt .
  • La seconda riga utilizza il mv comando su ogni file trovato per sostituire il .txt estensione con .pdf .
  • La terza riga termina il segmento del ciclo.

Premi Ctrl+X , quindi digita Y e premi Invio per salvare le modifiche allo script ed uscire.

Usa il sh comando per eseguire lo script:

sh rename_files.sh

Rinomina file con il comando rinomina

Il rename comando viene utilizzato per rinominare più file o directory in Linux. Offre più funzioni rispetto a mv comando ma può essere più difficile da usare poiché richiede una conoscenza di base delle espressioni Perl.

Come installare il comando rinomina

Su molte distribuzioni Linux, rename il comando non è disponibile per impostazione predefinita. Se nel tuo sistema manca il rename comando, installalo con:

  • Per Ubuntu e Debian, usa sudo apt install rename
  • Per CentOS e Fedora, usa sudo yum install prename
  • Per Arch Linux, usa sudo pacman -S rinomina

rinominare la sintassi e le opzioni dei comandi

Esistono tre tipi di espressioni regolari Perl:corrispondenza , sostituire e traduci . Il rename Il comando utilizza espressioni sostitutive e traduci per modificare i nomi di file e directory.

Le espressioni sostitutive sostituiscono una parte del nome del file con una stringa diversa. Usano la seguente sintassi:

rename [options] 's/[filename element]/[replacement]/' [filename]

Con questa sintassi, il comando rinomina il file sostituendo la prima occorrenza dell'elemento filename con la sostituzione . Nel comando sopra:

  • rename :richiama il comando di ridenominazione.
  • [options] :fornisce un argomento facoltativo che cambia il modo in cui viene eseguito il comando.
  • s :indica un'espressione sostitutiva.
  • [filename element] :specifica la parte del nome file che desideri sostituire.
  • [replacement] :specifica una sostituzione per la parte del nome file corrente.
  • [filename] :definisce il file che vuoi rinominare.

Un'espressione translate traduce una stringa di caratteri in un'altra, carattere per carattere. Questo tipo di espressione utilizza la seguente sintassi:

rename [options] 'y/[string 1]/[string 2]/' [filename]

Un esempio di rename comando utilizzando un'espressione di traduzione:

rename 'y/abc/xyz/'

In questo esempio, ogni a il carattere nel nome del file viene sostituito da una x , ogni b da una y e ogni c da una z .

Il rinominare comando utilizza le seguenti opzioni:

  • -a :Sostituisce tutte le occorrenze dell'elemento filename invece del primo.
  • -f :Forza la sovrascrittura dei file esistenti.
  • -h :Visualizza il testo della guida.
  • -i :Visualizza un messaggio prima di sovrascrivere i file esistenti.
  • -l :Sostituisce l'ultima occorrenza dell'elemento filename invece della prima.
  • -n :esegue una corsa a secco, senza apportare modifiche permanenti. Combinato al meglio con l'output dettagliato (-v ).
  • -s :Rinomina la destinazione invece del collegamento simbolico.
  • -v :mostra una versione dettagliata dell'output.
  • -V :Visualizza la versione del comando.

rinomina Esempi di comandi

1. Modifica estensione file

Tornando al nostro ultimo esempio, per cambiare l'estensione del file da .txt in .pdf , usa:

rename -v 's/.txt/.pdf/' *.txt

2. Sostituzione di una parte di un nome file

La sostituzione di una parte diversa del nome del file segue la stessa sintassi. Per rinominare example1.txt , esempio2.txt e example3.txt a test1.txt , test2.txt e text3.txt , usa:

rename -v 's/example/test/' *.txt

3. Elimina una parte di un nome file

Il rename l'opzione consente inoltre di eliminare una parte del nome del file omettendo la parte sostitutiva dell'espressione. Ad esempio, se vogliamo abbreviare esempio in ex :

rename -v 's/ample//' *.txt

4. Rinomina i file con nomi simili

Un altro uso per rename l'opzione è rinominare i file con nomi simili. Ad esempio, se vogliamo rinominare i file con esempio e campione a loro nome per testare :

rename -v 's/(ex|s)ample/test/' *.txt

5. Rinomina i file carattere per carattere

Il rename Il comando consente inoltre di utilizzare le espressioni di traduzione per rinominare i file carattere per carattere. Ad esempio, se desideri rinominare più file denominati file di esempio sostituendo lo spazio vuoto con un trattino basso (_ ):

rename -v 'y/ /\_/' *.txt

6. Converti caratteri minuscoli

Per convertire i caratteri minuscoli nei nomi dei file in caratteri maiuscoli, usa:

rename -v 'y/a-z/A-Z/' *.txt

7. Converti caratteri maiuscoli

Il contrario funziona anche se cambiamo l'ordine dei caratteri maiuscoli e minuscoli nell'espressione:

rename -v 'y/A-Z/a-z/' *.TXT

Ubuntu
  1. Come trovare file in Linux

  2. Come rinominare i file in Linux

  3. Come usare il comando Su in Linux

  4. Come creare file di una certa dimensione in Linux

  5. Come rinominare più file contemporaneamente in Linux

Comando tar di Linux – Come comprimere file in Linux

Come ordinare i file in Linux (GUI e Shell)

Come visualizzare due file affiancati in Linux

Come copiare file in Linux usando il comando CP

Come contare i file nella directory su Linux

Come trovare le cartelle in Linux