Come posso rinominare più file contemporaneamente?


43

Ho bisogno di rinominare un mucchio di file per correggere il loro ordinamento, quindi devo essere in grado di fare una sorta di "trova e sostituisci" in modo da poter sostituire pezzi di nomi di file alla volta.

Quali strumenti dovrei usare? Preferisco la GUI ma una raccomandazione dello strumento da riga di comando andrebbe bene.

Risposte:


54

Ce ne sono alcuni ma consiglio gprename Installa gprename che è un buon compromesso tra usabilità e funzionalità.

Altri strumenti sono: rinomina, krename Installa krename , pyrenamer Installa pyrenamer , cuteRenamer, ...


6
pyRenamer non è affatto male.
skalka,

6
Ho usato spesso pyrenamer e talvolta gprename a meno che la modifica non venga eseguita molto facilmente dalla riga di comando. La cosa migliore di queste GUI è l'azione di "anteprima" integrata. Questo ti farà risparmiare mal di testa.
belacqua,

4
+1 per gprename, ho appena provato e rinominato in 5 secondi
Pisu

Peccato che né gprename né pyrename possano prendere un elenco di file da rinominare dalla riga di comando
artfulrobot

gprename è fantastico il 14.04. 300 cartelle rinominate regex in 15 secondi
3

10

Mi piace molto qmv dal renameutilspacchetto. Ti consente di utilizzare il tuo editor di testo preferito (basato su terminale) per rinominare i file. Preferisco invocarlo con il -f doquale ti dà una singola colonna (una riga per file) con nomi di file. In combinazione con la potenza di Vim, ti offre tutti gli strumenti di cui hai bisogno per eseguire un massiccio editing dei nomi dei file.

http://www.nongnu.org/renameutils/



5

Se ti piacciono le espressioni regolari shell e perl, ti consiglio rename. È semplice come il suo nome.



3

Se hai familiarità con Emacs, penso che niente sia meglio di Dired per questo compito. Anche se non usi Emacs, spesso potresti trovare Dired uno strumento utile.

sudo aptitude install emacs23-nox

Avvia la modalità Emacs Dired per una directory:

emacs -nw path/to/dir/

Ora entra in modalità modifica directory:

C-x C-q (ovvero Ctrl + x seguito da Ctrl + q)

Ora puoi modificare i nomi dei file come modificare il testo in ogni editor di testo semplice. Puoi persino scegliere di sostituire i nomi dei file usando espressioni regolari (nota che purtroppo Emacs usa una sintassi diversa da PCRE).

Ad esempio, per rinominare i file con counter (iniziando da 1):
M-x replace-regexp(ovvero Alt + x seguito dalla stringa "replace-regexp" digitata nel minibuffer nella parte inferiore dello schermo).
Sostituisci regexp: DSCN\([0-9]+\).JPG
sostituisci con: \,(format "P%04d.jpg" (1 + \#))

Per riutilizzare un contatore nel nome file:
M-x replace-regexp
Sostituisci regexp: DSCN\([0-9]+\).JPG
Sostituisci con:\,(format "P%04d.jpg" (string-to-number \1))

Al termine, digitare:

C-c C-c (ovvero Ctrl + c seguito da Ctrl + c)

In alternativa, premere la seguente sequenza per annullare le modifiche:

C-c Esc (ovvero Ctrl + c seguito da Esc)


2

Tendo a usare mmv , che è basato sulla riga di comando, e ha una sintassi di espressione un po 'bizzarra, ma tendo a risolvere la maggior parte dei miei problemi.



0

Sulla riga di comando c'è anche la possibilità di usare la magia di sed e shell:

ls *.c | sed "s#\(.*\)\.c#mv \0 \1.cpp#" | sh

1
Non sembra funzionare come stampato. Puoi anche usare '#' o altri caratteri invece di "\" come separatori negli esempi, forse per maggiore chiarezza. ad esempio, `ls .c | sed 's # ([az] ) \. c # \ 1.cpp #' '(In questo esempio non è necessario rinominare, solo per visualizzare il nuovo nome file, per semplicità)
belacqua,

+1 Lo trovo davvero un bel modo (che funziona anche in tutte le distro), senza installare nulla. Ma probabilmente userei l' -dinterruttore per lsevitare di elencare il contenuto delle directory che potrebbe anche finire con .c(il più delle volte non è un problema, ma comunque ..).
Levita,

0

Windows ha un ottimo programma per questo chiamato Bulk Rename Utility. Ecco l'URL: http://www.bulkrenameutility.co.uk/Main_Intro.php .

Esiste una versione unicode di Windows 98 portatile. L'ho messo in una cartella sul mio sistema Linux (Mint Maya) e quando lo eseguo tramite Wine funziona come un fascino. La GUI è molto facile da usare e molto flessibile.


Voglio quasi farlo funzionare nel vino. È molto meglio di pyRenamer.
Teque5,

0

Per me il pyRenamer ha funzionato al meglio. Niente (purtroppo) si avvicina a Total Commanders lo ha costruito lo strumento di rinomina. pyRenamer non si integra con Krusader, ma considerando il fatto che non si utilizzano gli strumenti di ridenominazione che spesso comunque, pyRenamer è un'ottima opzione.


0

Questo è lo strumento che uso: rnm ( pagina man ) ( altri esempi )

Alcuni usi:

rnm file-name -ns new-filename             # single file
rnm ./* -ns '/n//i/'                       # files will be sorted and indexed.
rnm ./* -rs '/search/new/g'                # 'search' in filenames will be replaced with 'new'
rnm ./* -ns '/fn//i/' -ss 'search'         # only files/directories which contain 'search' in their name will be indexed (renamed).
rnm ./* -ns '/fn//id/' -fo                 # file only mode, directories will be ignored.
rnm ./* -ns '/fn//id/' -fo -dp -1          # recursive to subdirectories all the way.

etc...

Il link alla pagina web va a neurobin.org/projects/softwares/unix/rnm e dà un 404.
muru,

@muru: hmm, è successo qualcosa alla pagina, aggiornata al link alla pagina man.
Jahid,

0

Personalmente uso Ant Renamer con Wine perché nulla di ciò che ho provato (Métamorphose, PyRenamer, GPRename, KRename) è potente, facile da installare e facile da usare. Ed è ancora FOSS, quindi non vedo il problema.


0

Krename è una GUI di KDE per rinominare i file, generalmente presente nella maggior parte dei gestori di pacchetti.

Questa risposta si applica alla rimozione di numeri iniziali che possono essere trovati in file musicali come mp3. Ma Krenameanche rinominare in massa.

  1. Carica i file o la cartella selezionati. Krename carica tutti i file nella cartella selezionata, basta fare clic su Opensenza selezionare singolarmente tutti i file.

  2. Vai alla Destinationscheda per sovrascrivere o copiare i file in un'altra cartella.

  3. Vai alla Filenamescheda, quindi alla Advanced Filenamescheda.

     Immagine "Nome file avanzato" che mostra le impostazioni predefinite.

  4. Inizia rimuovendo il token $nella Templatefinestra. Una modifica avviene nella Renamedfinestra in basso. Non compaiono nomi di file, solo le estensioni di file.

    3. L'immagine mostra che i nomi dei file sono stati rimossi, lasciando le estensioni dei file.

  5. Fare clic su Insert Part of Filename...e selezionare le parti del nome file che si desidera conservare. Questa operazione includerà tutti i file e le modifiche saranno evidenti nella Renamedfinestra in basso.

    4. Immagine "Inserisci parte del nome file ..." che mostra come selezionare il nome file evidenziando le sezioni preferite.

  6. Fare clic OK. I file vengono rinominati senza i numeri iniziali.

    5. Risultati finali che mostrano.

  7. Infine, fai clic Finishednell'angolo in basso a destra.


0

Una nuova utility di rinomina batch GUI che funziona su Linux (funziona anche su Mac e Windows) è Inviska Rename .

inserisci qui la descrizione dell'immagine

Oltre alle consuete funzioni di rinomina come sostituire una parte del testo con qualche altro testo, inserire o rimuovere testo, rinominare le estensioni dei file e così via, questo strumento può rinominare le cartelle, rinominare la musica in base ai tag e rinominare le foto usando le loro informazioni Exif. Può persino rinominare in batch usando attributi di file come la data di creazione o modifica.

Altre caratteristiche includono l'anteprima dei nuovi nomi di file e l'annullamento della ridenominazione batch, che trovo molto utile.

fonte

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.