Come rinominare più file su Linux

Rinominare i file su sistemi Linux è di solito gestito dal mv (move) comando. La sintassi è solo mv old.txt new.txt. Abbastanza semplice, ma cosa succede se abbiamo più file che devono essere rinominati in una sola volta, anche centinaia di loro? L’utilità mv predefinita non può gestire la ridenominazione di più di un file a meno che non eseguiamo un po ‘ di scripting. Ci sono anche altre utilità che possiamo installare per risolvere il problema, come rename e mmv.

In questa guida, ti mostreremo come utilizzare il comando mv e gli strumenti rename e mmv per rinominare più file sulla tua distribuzione Linux. Andremo oltre diversi esempi in modo da poter capire la sintassi e come utilizzare ogni metodo.

In questo tutorial imparerai:

  • Come rinominare più file in una volta con il comando mv
  • Come installare rinominare sulle principali distribuzioni Linux
  • Come installare mmv sulle principali distribuzioni Linux
  • Come utilizzare mmv, attraverso esempi di comandi
  • Come utilizzare rinominare, attraverso esempi di comandi
Rinominare più file in una sola volta su Linux

Rinominare più file in una sola volta su Linux

Requisiti Software e Linux a Riga di Comando Convenzioni
Categoria Requisiti, Convenzioni o la Versione del Software Usato
Sistema Qualsiasi distro Linux
Software mv, rinominare, mmv
Altri accesso Privilegiato al sistema Linux come root o tramite sudo comando.
Convenzioni # – richiede comandi linux di essere eseguito con privilegi di root direttamente come utente root o con l’uso di sudo comando
$ – richiede i comandi di linux per essere eseguito come un normale utente non privilegiato

Rinominare più file in una volta con il comando mv

Rinominare più file con il comando mv è più facile se si sa un po ‘ di Bash scripting. Dai un’occhiata ad alcuni degli esempi qui sotto per vedere alcuni usi comuni con questo metodo.

  1. Il seguente comando aggiungerà un .estensione del file txt a tutti i file nella directory di lavoro attuale.
    $ for i in $( ls ); do mv $i $i.txt; done
  2. Per rimuovere un’estensione di file da tutti i file, è possibile utilizzare questo comando.
    $ for i in $( ls *.txt ); do mv $i ${i%.*}; done
  3. Possiamo anche cambiare l’estensione di ogni file. Il seguente comando cambierà tutti i file con il .log estensione a .txt.
    $ for i in *.log; do mv -- "$i" "${i%.log}.txt"; done
  4. È inoltre possibile utilizzare il comando find, insieme all’opzione -exec o al comando xargs per rinominare più file contemporaneamente. Questo comando si aggiunge .bak ad ogni file che inizia con il modello “file”.
    $ find . -type f -name 'file*' -print0 | xargs --null -I{} mv {} {}.bak
  5. Questo comando utilizza find e l’opzione -exec per aggiungere “_backup” a tutti i file che terminano nel .estensione txt.
    $ find . -name "*.txt" -exec mv {} {}_backup \;
  6. Possiamo anche usare xargs per fare la stessa cosa. Questo comando accetta lo standard input dal comando ls, quindi usa xargs per aggiungere “_backup” a tutti i file che terminano nel .estensione txt.
    $ ls *.txt | xargs -I{} mv {} {}_backup
  7. Per modificare tutti i file con il .txt nella directory presente per avere solo lettere minuscole, questo comando farà il lavoro.
    $ for i in `ls *.txt`; do mv "$i" "`echo $i | tr '' ''`"; done

Il vantaggio di questo metodo è che non abbiamo bisogno di alcun software Linux aggiuntivo-usiamo solo l’utilità mv nativa e talvolta accoppiata con ls, find o xargs. Tuttavia, come abbiamo visto in questi esempi, può essere piuttosto complesso fare qualcosa di semplice come rinominare alcuni file. Scopri alcuni degli altri metodi qui sotto per vedere alcune opzioni più convenienti che richiedono l’installazione.

Installa rename utility

La tua distribuzione Linux potrebbe avere già rename installato per impostazione predefinita. Nel caso in cui non sia già installato, è possibile utilizzare il comando appropriato di seguito per installarlo tramite il gestore di pacchetti del sistema.

Per installare rinominare su Ubuntu, Debian e Linux Mint:

$ sudo apt install rename

Per installare rinominare su CentOS, Fedora, AlmaLinux, e Red Hat:

$ sudo dnf install prename

Per installare rinominare su Arch Linux e Manjaro:

$ sudo pacman -S perl-rename

comando rinomina esempi

Il rename comando accetta espressione perl a fare il ridenominazione. Se hai già familiarità con questa sintassi, rinominare sarà molto facile da usare. In caso contrario, non ti preoccupare, abbiamo alcuni esempi qui sotto che vi aiuterà a ottenere il blocco di esso.

Qui abbiamo compilato alcuni degli scenari più comuni che si avrebbe bisogno di rinominare più file contemporaneamente. Questi comandi presuppongono che i file che si desidera rinominare si trovino nella directory di lavoro attuale. È sempre possibile specificare il percorso di altre directory, se lo si desidera.

Ci sono alcune opzioni che puoi usare con rename. L’opzione -n ti mostrerà quali modifiche rename sta per apportare, senza apportare effettivamente le modifiche. Questo ti aiuta a evitare eventuali modifiche indesiderate. L’opzione -v (verbose) stamperà i nomi dei file che sono stati rinominati correttamente.

  1. Questo comando rinomina i file in maiuscolo in minuscolo.
    $ rename 'y/A-Z/a-z/' *

    Oppure, per convertire minuscolo in maiuscolo:

    $ rename 'y/a-z/A-Z/' *
  2. Per modificare l’estensione di un gruppo di file, utilizzare la seguente sintassi. Questo particolare esempio convertirà .file di registro a .file txt.
    $ rename 's/\.log$/\.txt/' *.log
  3. Per capitalizzare la prima lettera di ogni nome di file, utilizzare il seguente comando.
    $ rename 's/\b(\w)/\U/g' *
  4. Per rimuovere tutti gli spazi vuoti dai nomi dei file, eseguire questo comando.
    $ rename "s/ *//g" *

    Oppure, per sostituire gli spazi con caratteri di sottolineatura:

    $ rename 's/\s+/_/g' *
  5. Per rimuovere un’estensione di file da un gruppo di file, utilizzare la seguente sintassi. Questo esempio rimuoverà il .estensione bak.
    $ rename 's/\.bak$//' *.bak

Installare mmv utility

È possibile utilizzare il comando appropriato di seguito per installare mmv attraverso il gestore di pacchetti del sistema.

Per installare mmv su Ubuntu, Debian e Linux Mint:

$ sudo apt install mmv

Per installare mmv su CentOS, Fedora, AlmaLinux, e Red Hat:

$ sudo dnf install mmv

Per installare mmv su Arch Linux e Manjaro:

$ git clone https://aur.archlinux.org/mmv.git$ cd mmv/$ makepkg -si

esempi di comandi mmv

La caratteristica più interessante di mmv è la sua capacità di rinominare facilmente molti file accettando caratteri jolly nel comando. Ciò consente di aggiungere o rimuovere facilmente determinati modelli dai nomi dei file o persino di disporre il testo all’interno dei nomi. Scopri alcuni degli esempi qui sotto per imparare la sintassi per lo strumento mmv, e vedere alcuni dei comandi più comuni che si possono trovare voi stessi in esecuzione con esso. Tieni presente che puoi usare l’opzione -n con mmv per visualizzare in anteprima le modifiche.

  1. Utilizzare questo esempio per modificare l’estensione del file su un gruppo di file. Questo comando cambierà tutti i file con estensione .htm a .HTML.
    $ mmv '*.htm' '#1.html'
  2. Questo comando sostituirà la prima occorrenza di “foo” con “bar” in tutti i nomi di file.
    $ mmv '*foo*' '#1bar#2'
  3. Il seguente comando ti dà un’idea di come puoi usare mmv per riorganizzare parti di un nome di file. Questo esempio prenderà file come access.log-dbserver e rejected.log-webserver e li rinominerà in access-dbserver.log e rejected-webserver.log, rispettivamente. Perché questo funzioni, abbiamo solo bisogno di avere un modello coerente, come il trattino e il periodo in questo caso.
    $ mmv '*.log-*' '#1-#2.log'
  4. Modificare tutti i nomi dei file in lettere minuscole utilizzando questo comando.
    $ mmv '*' '#l1'
  5. Al contrario, cambia i nomi dei file in tutte le lettere maiuscole con questo.
    $ mmv '*' '#u1'

Pensieri di chiusura

In questa guida, abbiamo imparato diversi metodi per rinominare più file contemporaneamente su Linux. Abbiamo anche visto una moltitudine di esempi da riga di comando che possono coprire molti scenari diversi o essere facilmente adattati per adattarsi a situazioni simili. La ridenominazione di massa può essere eseguita tramite utility bash native come mv, ls, xargs e find, oppure possiamo installare mmv o rinominare l’utilità per rendere la nostra vita un po ‘ più facile. Ogni metodo ha i suoi punti di forza e di debolezza, quindi usa quello che pensi sarà più conveniente per te.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.