2012-03-29 9 views
29

Se converto le mie immagini conconversione batch Linux: Cambiamento qualità del jpg con convert ma mantenere il suo nome

convert -quality 80% *.jpg 

Funziona, ma il software cambia i nomi dei file al primo raccoglie. Come posso mantenere il nome o anche sostituire l'immagine precedente con quella di qualità inferiore.

+1

@JimGarrison - sembra una domanda di script di shell. –

+1

dalla pagina man: > Mogrify sovrascrive il file immagine originale, mentre, convert (1) scrive in un file immagine diverso. –

risposta

64

Prova a modificare:

mogrify -quality 80% *.jpg 
10

convertito comando help:

convert input-file [options] output-file

Ora un piccolo script per convertire tutti i file jpg alla qualità 80% degli originali nella directory corrente

for file in *.jpg; do 
    convert "$file" -quality 80% "$file" 
done; 
+3

Uso inutile di 'ls', in quanto può essere abbreviato in' for f in * jpg'. E mogrify può lavorare su più file contemporaneamente. –

+1

@ringbearer Non è un ottimo modo per farlo. Richiede un altro processo e non riesce per i file con spazi. A parte ciò, è un'ottima risposta. – Sparhawk

+0

Ho rimosso il sottoprocesso (backtick) e aggiungo virgolette per evitare errori –

Problemi correlati