GNU/Linux >> Linux Esercitazione >  >> Linux

Rinominare i file nella directory?

Come rinominare i file in una directory come il seguente file:PMC21375.pdf.txt , devo essere rinominato in 21375.txt . cioè, devo rimuovere entrambi i PMC e pdf da ogni nome di file.

Risposta accettata:

Con rename di Perl :

rename 's/(PMC|.pdf)//g' *pdf.txt 

Demo :

$ ls *txt
PMC21375.pdf.txt
$ rename -n 's/(PMC|.pdf)//g' *txt 
PMC21375.pdf.txt -> 21375.txt

dalla shell richiesta. È molto utile, puoi inserire del codice perl come faccio io in una sostituzione.

Puoi rimuovere il -n (interruttore della modalità di funzionamento a secco) quando i test diventano validi.

Ci sono altri strumenti con lo stesso nome che potrebbero o meno essere in grado di farlo, quindi stai attento.

Se esegui il seguente comando (linux )

$ file $(readlink -f $(type -p rename))

e hai un risultato come

.../rename: Perl script, ASCII text executable

allora questo sembra essere lo strumento giusto =)

In caso contrario, per renderlo predefinito (di solito è già il caso) su Debian e derivati ​​come Ubuntu :

$ sudo update-alternatives --set rename /path/to/rename

(sostituisci /path/to/rename al percorso del tuo perl's rename comando.

Ultimo ma non meno importante, questo strumento è stato originariamente scritto da Larry Wall, il padre del Perl.


Linux
  1. Rinomina tutti i file e i nomi delle directory in minuscolo in Linux

  2. Come Grep nei file Pdf?

  3. File di gatto con directory?

  4. Decomprimere tutti i file in una directory

  5. rsync N file più recenti in una directory

Come contare i file nella directory in Linux

Come rinominare i file usando la riga di comando in Linux

Come rinominare uno o più file in Linux

Come convertire in batch file PDF su Linux

Come contare i file nella directory su Linux

Come rinominare tutti i file con caratteri speciali e spazi in una directory?