2012-03-29 17 views
29

Si convierto mis imágenes conLinux conversión por lotes: Cambiar la calidad del jpg con convert pero mantener su nombre

convert -quality 80% *.jpg 

Funciona, pero el software cambia los nombres de los archivos con el primero que recoge. ¿Cómo puedo mantener el nombre o incluso reemplazar la imagen anterior por la de menor calidad?

+1

@JimGarrison - suena como una pregunta de shell scripting. –

+1

desde la página man: > Mogrify sobrescribe el archivo de imagen original, mientras que convierte (1) escribe en un archivo de imagen diferente. –

Respuesta

64

Tal vez puedas probar:

mogrify -quality 80% *.jpg 
10

convertido comando de ayuda:

convert input-file [options] output-file

Ahora un pequeño script para convertir todos los archivos jpg a la calidad del 80% del original bajo el directorio actual

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

Uso inútil de 'ls', ya que se puede acortar a' para f in * jpg'. Y mogrify puede trabajar en múltiples archivos a la vez. –

+1

@ringbearer No es una gran manera de hacerlo. Requiere otro proceso y falla para archivos con espacios. Aparte de eso, es una gran respuesta. – Sparhawk

+0

Quité el subproceso (backtick) y agregué comillas para evitar errores –

Cuestiones relacionadas