Renomear e cambiar imaxes desde terminal linux

Renomear e cambiar imaxes desde terminal linux

Obxetivo: automatizar a tarefa de cambiar o nome, tamaño e tipo de ficheiro das imaxes contidas nun cartafol con un simple comando no terminal.

Acontece a miúdo que se nos presenta un problema ou tarefa repetitiva, tediosa, e empezamos a darlle voltas a cabeza sobre cómo se pode facer eso sen ter que perder tanto tempo repetindo os mesmos pasos e sen cometer erros ou incoherencias?

Acontece tamén que acabaríamos antes facendo a tarefa que tentando buscar facela de xeito máis elegante e automático 😛 Pero utilizar linux ten as súas vantaxes: alguén tivo antes o mesmo problema ca ti (esto non é exclusivo de linux) e ademáis escribeu a solución e fíxoa pública.

Utilizando imagemagick (dispoñible en todas as distribucións) e algún dos seus compoñentes, podemos facer un pequeno script que automatice o traballo en nun par de segundos teñamos un cartafol con 50 imaxes con un novo nome, tamaño, con iconas, tipo de ficheiro, … e moito máis.

Tal como digo, a información é pública e poño unhas ligazóns de onde eu saquei a información.
Cómo convertir ficheiros de imaxe desde terminal Howto: Linux convert an image between different formats from command prompt
En HowToGeek información máis detallada e outras opcións
Script para crear iconas a partir de imaxes dun cartafol Ver os comentarios no artigo para optimización

imaxe de exemplo desde HOWTOGEEK.com

Tendo esta información en conta, eu simplemente necesitaba convertir unhas imaxes grandes (en tamaño) contidas nun cartafol a versións .jpg das mesmas e todas con un tamaño máis pequeno (escalado).
instalar imagemagick en arch e derivados
pacman -S imagemagick
en ubuntu e similares
sudo apt-get install imagemagick
xunto coas dependencias que pida (se non están instaladas).
Abrir un editor de texto e escribir o código según as nosas necesidades. No meu caso:

#!/bin/bash

#Esto converte ABC.JPG a 900*675 píxeles e nome abc.jpg
# man convert para máis opcións

#lanzar no directorio onde estan as imaxes a cambiar o tamaño
#modificar o tamaño según preferencias.
# ls *.JPG lista todos os ficheiros de extensión .JPG, cambiar esto según necesario
for img in `ls *.JPG`
do
convert -resize 900×675 $img `echo “$img” | tr “[:upper:]” “[:lower:]”`
done

gardámolo onde e co nome que desexemos (ex. scriptImaxes.sh)

dámoslle permisos de execución

chmod +x scriptImaxes.sh

O funcionamento, unha vez feito o script, é:

  • abrir un terminal
  • moverse ate a carpeta que contén as imaxes a cambiar
  • invocar (executar) o script

e como resultado temos na mesma carpeta unha copia das imaxes coas características desexadas.

Por suposto non é preciso facer un script, pódese invocar directamente o comando convert dentro do directorio obxetivo e pasarlle os parámetros que desexemos.

Deixa unha resposta

O teu enderezo electrónico non se publicará Os campos obrigatorios están marcados con *