› Foros › PC › Software libre
Esog Enaug escribió:Justo es eso lo q quiero. Y justo es imagemagick lo q voy a usar.
Pero no se como puedo leer el nombre original para ponerselo a las imagenes modificadas. Lo unico q se me ocurre es hacer un ls, guardar el resultado en un archivo y desde hay ir cogiendo los nombres para modificarlos. Pero me parece "poco elegante". Si hubiera otra forma mas elegante me encantaria usarla.
Muchas gracias.
for LISTA in $(ls -1 *.jpg | sed 's/\(.*\)\..*/\1/')
do
convert $LISTA.jpg $LISTA_s.jpg
convert $LISTA.jpg $LISTA_m.jpg
convert $LISTA.jpg $LISTA_b.jpg
done
blackgem escribió:Igual que dices que modifique ese archivo, puedes decirle que coja el nombre de ese archivo ^^, luego le concatenas lo que le quieras añadir al guardar el resultado de esa modificacion =D.
No necesitaras ni ls, ni archivos ajenos, ni nada, solo trabajar con variables si eso.
#!bin/bash
#pon aqui debajo,el directorio donde tienes las fotos, sin barra al final
RUTA=~
for LISTA in $(ls -1 $RUTA/*.jpg | sed 's/\(.*\)\..*/\1/')
do
convert $RUTA/$LISTA.jpg $LISTA_s.jpg
convert $RUTA/$LISTA.jpg $LISTA_m.jpg
convert $RUTA/$LISTA.jpg $LISTA_b.jpg
done
Lok escribió:el script en si...
pon las opciones que mas prefieras para los convert y ya estara listo el script#!bin/bash
#pon aqui debajo,el directorio donde tienes las fotos, sin barra al final
RUTA=~
for LISTA in $(ls -1 $RUTA/*.jpg | sed 's/\(.*\)\..*/\1/')
do
convert $RUTA/$LISTA.jpg $LISTA_s.jpg
convert $RUTA/$LISTA.jpg $LISTA_m.jpg
convert $RUTA/$LISTA.jpg $LISTA_b.jpg
done
#!bin/bash
LISTA=1
for LISTA in $(ls -1 *.jpg | sed 's/\(.*\)\..*/\1/')
do
convert $LISTA.jpg -resize 100x100 $LISTA_s.jpg
convert $LISTA.jpg -resize 200x $LISTA_m.jpg
convert $LISTA.jpg -resize 150x150 $LISTA_h.jpg
done
#!bin/bash
ls > listadoA.txt
tr -d [a-z][A-Z].<listadoA.txt >listado.txt
LINEA="1"
while read LINEA
do
convert $LINEA.jpg -resize 100x100 $LINEA_s.jpg
convert $LINEA.jpg -resize 200x $LINEA_m.jpg
convert $LINEA.jpg -resize 150x150 $LINEA_h.jpg
done < listado.txt
rm listadoA.txt
rm listado.txt
#!bin/bash
RUTA=/home/XXXXXXXXXX/ScripsFotosWEB/img
LISTA="1"
for LISTA in $(ls -1 $RUTA/*.jpg | sed 's/\(.*\)\..*/\1/')
do
echo "$LISTA"
convert $LISTA.jpg -resize 100x100 $LISTA'_s'.jpg
convert $LISTA.jpg -resize 200x $LISTA'_m'.jpg
convert $LISTA.jpg -resize 150x150 $LISTA'_h'.jpg
done
#!bin/bash
RUTA=/home/XXXXXXXXXX/ScripsFotosWEB/img
ls $RUTA/> listadoA.txt
tr -d [a-z][A-Z].<listadoA.txt >listado.txt
LINEA="1"
while read LINEA
do
convert $RUTA/$LINEA.jpg -resize 100x100 $RUTA/$LINEA'_s'.jpg
convert $RUTA/$LINEA.jpg -resize 200x $RUTA/$LINEA'_m'.jpg
convert $RUTA/$LINEA.jpg -resize 150x150 $RUTA/$LINEA'_h'.jpg
done < listado.txt
rm listadoA.txt
rm listado.txt