Domanda:
Come rinominare in batch le immagini, in ordine numerico inverso?
Jason
2012-10-18 16:33:07 UTC
view on stackexchange narkive permalink

La mia fotocamera chiama le sue immagini IMG_0001.jpg, IMG_0002.jpg, IMG_0003.jpg, ecc.

Ho circa un migliaio di immagini e vorrei rinominarle senza doverlo fare manualmente se possibile.

Esiste un buon modo per automatizzare il processo di ridenominazione nell'ordine inverso, ad es. IMG_0003.jpg, IMG_0002.jpg, IMG_0001.jpg?

Hai ricevuto una risposta alla tua domanda? È importante che il sito accetti una risposta se funziona per le tue esigenze. Non solo aiuta gli altri con la stessa domanda, ma premia chi ha risposto oltre ai voti che la comunità ha dato loro.
Mi spiace, non ho ancora avuto la possibilità di provarlo. Ne accetterò uno quando lo scoprirò.
Grazie. Puoi anche accettare la risposta e il commento più utili che non hai avuto il tempo di testare. Se dovesse cambiare, puoi sempre annullare l'accettazione di una risposta ed eliminare un commento non aggiornato. Saluti e grazie per mantenere il sito alimentato con feedback.
Cinque risposte:
#1
+12
Riccardo Marotti
2012-10-18 18:45:58 UTC
view on stackexchange narkive permalink

Puoi utilizzare un flusso di lavoro di Automator.

Qualcosa di simile:

enter image description here

Il passaggio Ordina elementi del Finder ordinerà i nomi delle immagini in modo discendente (IMG_0003.jpg, IMG_002 .jpg, IMG_001.jpg).

Il passaggio Rendi sequenziale li rinominerà in sequenza (IMG_0001.jpg, IMG_0002.jpg, ...).

Copia elementi Finder step è opzionale, giusto per essere sicuri di non fare confusione con i file originali.

amaaaaaaaaazing .. ti amo
#2
+4
Lri
2012-10-19 14:23:17 UTC
view on stackexchange narkive permalink

Ecco un altro script di shell. Puoi salvarlo come un normale file di testo e quindi eseguire bash /path/to/script.sh da Terminale. Rimuovi echo per rinominare effettivamente i file.

  cd ~ / Pictures / IFS = $ '\ n' # i separatori del campo di input includono lo spazio di defaulti = 1 per f in $ (ls -r IMG * .jpg); echo mv "$ f" "IMG _ $ (printf% 04d $ i)". jpg ((i ++)) fatto  
#3
+3
lhf
2012-10-18 16:41:07 UTC
view on stackexchange narkive permalink

Prova questo nel Terminale:

  mkdir newls IMG * > 1sort -r < 1 > 2paste 1 2 | awk '{print "mv" $ 1 "new /" $ 2}' > 3. 3  

I file rinominati saranno nella cartella new .

Ecco una breve spiegazione di come funziona: crea uno script chiamato 3 che esegue la ridenominazione. Per questo, crea un elenco delle immagini in ordine alfabetico in 1 e in ordine inverso in 2 . Quindi viene letta una riga da ogni file e combinata in un comando mv , che viene eseguito quando si esegue 3 . Le immagini vengono rinominate nella cartella new per evitare collisioni.

Considera l'idea di spiegare cosa fa ogni passaggio dello script
La risposta lhf gavin era giusta, ma prima del passaggio 5, dovresti prima eseguire `chmod + x 3`.
#4
+2
binarybob
2012-10-19 00:05:24 UTC
view on stackexchange narkive permalink

Name Mangler ($ 10 e ha una prova gratuita) o Name Changer (gratuito / donationware) è anche molto buono per questo genere di cose se stai cercando un bella, semplice app.

Il mio preferito è A Better Finder Rename http://www.macupdate.com/app/mac/6322/a-better-finder-rename
#5
+1
Jozef Legény
2012-10-19 14:58:14 UTC
view on stackexchange narkive permalink

Puoi utilizzare lo script perl rename.pl che incombe sul web (ad esempio, da qui) e inserirlo nella cartella con i tuoi file di immagine.

l'utilizzo è semplice e documentato ed è piuttosto potente. Per usarlo per la tua custodia, sostituisci MAXIMUM_NUMBER con il numero nell'ultima foto, quindi esegui:

  perl rename.pl's / IMG_0 + (\ d +) / "A_IMG _". Sprintf ("% 04d", (MAXIMUM_NUMBER- $ 1)) / xe '* .jpg && perl rename.pl' s / A _ // '* .jpg  

A spiegare:

  1. La prima ridenominazione (prima di &&) rinominerà tutti i file in MAXIMUM_NUMBER meno il numero già nel nome del file. Inoltre, al nome del file verrà aggiunto un prefisso A_ per evitare di sovrascrivere file già esistenti.
  2. La seconda ridenominazione elimina semplicemente A_ dai nomi dei file.

Nota che lo script rename.pl può fare molto di più se hai bisogno di ridenominazioni più complesse.



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...