Comunidad
Normas
Buscar
Ingresar
Registrarse
Almacén
Artículos
[Comunidad FotoLibre]
Tú
[Comunidad FotoLibre]
»
Ayuda
»
Manuales
»
Primeros pasos en BASH
Noticias:
Tema del Mes:
"Verde"
. Anímate y participa; tienes
hasta las 23:59 horas del 26 de mayo
para enviar tu foto.
(*) No hace falta agotar el plazo...
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
1 Hora
1 Día
1 Semana
1 Mes
Siempre
Encuesta
Pregunta:
¿Podría interesar un manual de primeros pasos en bash? (Votación cerrada: 18 Ago 2007, 14:48 )
Si, pero solo si empezamos de cero, no tengo ni idea de bash
5 (55.6%)
Si, tengo algunos conocimientos pero me interesaría profundizar el el tema de scripts
4 (44.4%)
Ni fu, ni fa
0 (0%)
No, no quiero perder el tiempo con incomprensibles comandos.
0 (0%)
Total de votos: 9
Páginas: [
1
]
2
3
« anterior
próximo »
Imprimir
Autor
Tema: Primeros pasos en BASH (Leído 21749 veces)
redy
Moderador
Bimilenari@
Mensajes: 2605
Gnudista
Primeros pasos en BASH
«
:
19 Jul 2007, 14:48 »
Más que nada porque Colegota proponía hacer un manual de scripting con imagemagick, y creo que unas buenas pinceladas de bash primero son imprescindibles ¿no? Si veo que hay interes hasta igual me ofrezco voluntario para contaros lo que pueda sobre el bash, y luego veremos como aplicarlo para hacer scripts con imagemagick. Se admiten todo tipo de propuestas.
(editado por tat para poner el título en minúsculas.)
«
Última modificación: 11 Nov 2008, 09:37 por tat
»
En línea
Admiro a la gente que sabe contar historias solamente con sus fotos, porque en el fondo las fotos son como los chistes; si tienes que explicarlas es que no son buenas...
elpecoso
Milenari@
Mensajes: 1295
Esto es lo que somos
Re: PRIMEROS PASOS EN BASH
«
Respuesta #1 :
19 Jul 2007, 15:24 »
no estaria mal...
la verdad es que con imagemagick se pueden hacer chorricientas cosas y no estaria mal echarle un ojo...
por cierto, en el script que yo uso para redimensionar...
Código:
#!/bin/bash
for i in *.JPG ; do
convert -resize 50%x50% -verbose $i $i
done
como podria hacer para que me pusiese por ejemplo el lado mas largo a 800 y el otro me mantuviera las proporciones?
chau!
En línea
Me gustaría cambiar el mundo, pero no me dan el código fuente
<- La ultima de
La madriguera del escobrice
Colegota
Palizas oficial
Mensajes: 7047
¡Me faltan carretes!
Re: PRIMEROS PASOS EN BASH
«
Respuesta #2 :
19 Jul 2007, 15:53 »
Buenas,
Cita de: elpecoso en 19 Jul 2007, 15:24
como podria hacer para que me pusiese por ejemplo el lado mas largo a 800 y el otro me mantuviera las proporciones?
http://www.imagemagick.org/script/command-line-options.php#resize
Los valores especificados si no dices nada son valores "máximos". Es decir, si pones
-resize 800x600
ninguno de los dos lados pasará esas dimensiones. Si quieres que sean exactamente 800x600 deberás poner
-resize 800x600 !
También puedes especificar uno de los lados, como por ejemplo
-resize 800x
o
-resize x640
. En este caso el otro lado se adapta para mantener la proporción. Interesante por ejemplo para redimensionar una panorámica que no sea demasiado alta para que se vea la parte vertical completa en la pantalla aunque para la horizontal haya que desplazarse con las barras.
Con un poco de suerte acabo haciendo una descripción traducción de los principales comandos mientras redy hace lo propio con el de bash.
Lo que pasa es que prefiero terminar primero con el de las fotos para niños por no dejar tantas cosas empezadas.
Saludos,
Colegota
«
Última modificación: 19 Jul 2007, 16:01 por Colegota
»
En línea
[Canon EOS
50
40D (sin diapos ni nada)] [Escáner Minolta DSE 5400]
[Vuescan]
[El GIMP]
[Galería]
[Página de Viajes]
elpecoso
Milenari@
Mensajes: 1295
Esto es lo que somos
Re: PRIMEROS PASOS EN BASH
«
Respuesta #3 :
19 Jul 2007, 22:45 »
bien, entonces para que me redimensione las fotos horizontales a 800x lo que sea y las verticales a "loquesea"x800 tengo que poner 800x800
ya lo he comprobado y funciona, muchas gracias!
ahora que significan las 3 lineas que salen por cada archivo:
Código:
chicas.jpg JPEG 3872x2592 DirectClass 1.5mb 1.160u 0:02
chicas.jpg JPEG 3872x2592=>640x428 DirectClass 1.5mb 1.750u 0:03
chicas.jpg JPEG 3872x2592=>640x428 DirectClass 90kb
y como puedo poner un sufijo a las fotos redimensionadas sin que me sobreescriba las "buenas" que es lo que me hace ahora
por ejemplo que sea chicas_p.jpg
ahora bash...
como hago para que el ciclo for recorra tanto las JPG como las jpg y no me de este aviso cuando no haya ninguna JPG
Código:
convert: unable to open image `*.JPG': No existe el fichero ó directorio.
mi script mas o menos va asi:
Código:
#!/bin/bash
for i in *.JPG *.jpg ; do
convert -resize 700x700 -mattecolor "#000000" -frame 1x1 -mattecolor "#ffffff" -frame 3x3 -mattecolor "#000000" -frame 6x6 $i $i
done
con lo cual obtengo una imagen de 720x con marco para poner en mi pagina
chau!
«
Última modificación: 19 Jul 2007, 23:08 por elpecoso
»
En línea
Me gustaría cambiar el mundo, pero no me dan el código fuente
<- La ultima de
La madriguera del escobrice
Colegota
Palizas oficial
Mensajes: 7047
¡Me faltan carretes!
Re: PRIMEROS PASOS EN BASH
«
Respuesta #4 :
20 Jul 2007, 00:50 »
Buenas,
revisa el manual:
http://www.imagemagick.org/script/convert.php
Código:
convert origen.jpg [modificaciones] destino.jpg
¿tienes imágenes con la extensión en mayúsculas? Prueba:
Código:
#!/bin/bash
for i in *.jpg ; do
convert "$i" -resize 700x700 -mattecolor "#000000" -frame 1x1 -mattecolor "#ffffff" -frame 3x3 -mattecolor "#000000" -frame 6x6 p_"$i"
done
Eso te creará una imagen p_chicas.jpg. Si quieres intercalar la p antes de la extensión espera a que Redy haga el curso de bash.
Lo que queda de semana ando liadillo, la próxima intento hacer un "Imagemagick de andar por casa".
Saludos,
Colegota
En línea
[Canon EOS
50
40D (sin diapos ni nada)] [Escáner Minolta DSE 5400]
[Vuescan]
[El GIMP]
[Galería]
[Página de Viajes]
elpecoso
Milenari@
Mensajes: 1295
Esto es lo que somos
Re: PRIMEROS PASOS EN BASH
«
Respuesta #5 :
20 Jul 2007, 08:58 »
tengo imágenes con la extensión en mayúsculas (las que salen de la cámara) y con extensión en minúsculas (las editadas), por eso puse *.JPG y *.jpg
lo que ocurre es que cuando no hay de una de las dos clases, me sale ese aviso, que no tiene mayor importancia, porque el script funciona perfectamente...
en cuanto a lo de renombrar las imágenes, francamente no se me había ocurrido ponerlo como prefijo
de todos modos, a ver que cuenta maese Redy de ponerlo como sufijo, porque así las imágenes me quedarían mas ordenadas (chicas_p.jpg inmediatamente después de chicas.jpg)
chau!
En línea
Me gustaría cambiar el mundo, pero no me dan el código fuente
<- La ultima de
La madriguera del escobrice
redy
Moderador
Bimilenari@
Mensajes: 2605
Gnudista
Re: PRIMEROS PASOS EN BASH
«
Respuesta #6 :
20 Jul 2007, 13:03 »
Cita de: elpecoso en 20 Jul 2007, 08:58
tengo imágenes con la extensión en mayúsculas (las que salen de la cámara) y con extensión en minúsculas (las editadas), por eso puse *.JPG y *.jpg
Prueba:
Código:
for i in *.[jJ][pP][gG]: do
....
done
O mejor todavía métele una 'e' (mayúscula o minúscula) opcional, así funcionará con cualquier fichero con extensión JPG, jpg, Jpg, JPEG, jpeg, Jpeg, jPeG etc...
Código:
for i in *.[jJ][pP]?([eE])[gG]: do
....
done
Esta segunda forma puede darte un error si no está activada la opción 'extglob' si es así ponle antes el comando
Código:
shopt -s extglob
«
Última modificación: 20 Jul 2007, 13:18 por redy
»
En línea
Admiro a la gente que sabe contar historias solamente con sus fotos, porque en el fondo las fotos son como los chistes; si tienes que explicarlas es que no son buenas...
redy
Moderador
Bimilenari@
Mensajes: 2605
Gnudista
Re: PRIMEROS PASOS EN BASH
«
Respuesta #7 :
20 Jul 2007, 13:57 »
Cita de: elpecoso en 20 Jul 2007, 08:58
de todos modos, a ver que cuenta maese Redy de ponerlo como sufijo, porque así las imágenes me quedarían mas ordenadas (chicas_p.jpg inmediatamente después de chicas.jpg)
Si el sufijo fuese conocido, bastaría con:
Código:
for i in *.jpg; do
convert -resize bla-bla-bla "$i" "$(basename $i .jpg)-p.jpg"
done
El comando basename extrae de un nombre de fichero toda la parte que corresponde al directorio y deja solo el nombre, y si se pasa un segundo parámetro que será el sufijo y este coincide exactamente con el final del nombre del fichero lo quita también. Luego simplemente hago uso de la sustitución de comando $().
Pero como hemos puesto el patrón múltiple resulta que el sufijo puede ser Jpg, JPEG o cualquiera de las posibles variantes. Así que lo único que se me ocurre es mirar antes cual es el sufijo, para extraerlo tal que así:
Código:
for i in *.[jJ][pP]?([eE])[gG]; do
SUFIJO=".${i##*.}"
convert -resize bla-bla-bla "$i" "$(basename $i $SUFIJO)-p$SUFIJO"
done
La expansión ${variable##patrón} sustrae de la variable desde el principio la parte más larga que coincide con el patrón. Luego hay otras expansiones como $(variable%%patron) que hacen lo mismo por el final, pero eso lo dejamos para el curso ¿no?
«
Última modificación: 20 Jul 2007, 14:11 por redy
»
En línea
Admiro a la gente que sabe contar historias solamente con sus fotos, porque en el fondo las fotos son como los chistes; si tienes que explicarlas es que no son buenas...
redy
Moderador
Bimilenari@
Mensajes: 2605
Gnudista
Re: PRIMEROS PASOS EN BASH
«
Respuesta #8 :
22 Jul 2007, 14:06 »
Cita de: redy en 20 Jul 2007, 13:57
Código:
for i in *.[jJ][pP]?([eE])[gG]; do
SUFIJO=".${i##*.}"
convert -resize bla-bla-bla "$i" "$(basename $i $SUFIJO)-p$SUFIJO"
done
La expansión ${variable##patrón} sustrae de la variable desde el principio la parte más larga que coincide con el patrón. Luego hay otras expansiones como $(variable%%patron) que hacen lo mismo por el final, pero eso lo dejamos para el curso ¿no?
Aunque ahora que lo pienso, igual queda más claro si pasamos totalmente del basename y usamos las expansiones de variables de bash solo:
Código:
shopt -s extglob
# (Por si acaso, para que funcione el patrón '?([eE])')
for i in *.[jJ][pP]?([eE])[gG]; do
SUFIJO="${i##*.}"
PREFIJO="${i%.*}"
convert -resize bla-bla-bla "$i" "${PREFIJO}-p.${SUFIJO}"
done
En línea
Admiro a la gente que sabe contar historias solamente con sus fotos, porque en el fondo las fotos son como los chistes; si tienes que explicarlas es que no son buenas...
tat
Moderador
Palizas oficial
Mensajes: 9511
Patch y buenas vibraciones
Re: PRIMEROS PASOS EN BASH
«
Respuesta #9 :
26 Jul 2007, 14:00 »
Adelante con ese cursillo, me interesa. Gracias por dedicarle vuestro tiempo y recursos a compartir conocimientos con la comunidad
En línea
[Mi vida en Libertat]
[Mi galeria en Fotolibre.net]
redy
Moderador
Bimilenari@
Mensajes: 2605
Gnudista
Re: PRIMEROS PASOS EN BASH
«
Respuesta #10 :
13 Sep 2007, 12:23 »
Cita de: tat en 26 Jul 2007, 14:00
Adelante con ese cursillo, me interesa.
Bueno pues como veo que hay algún interés en ello empiezo a
largar mi rollo en mi blog de fotolibre
para responder, hacerlo por aquí mismo....
En línea
Admiro a la gente que sabe contar historias solamente con sus fotos, porque en el fondo las fotos son como los chistes; si tienes que explicarlas es que no son buenas...
gecko
Veteran@
Mensajes: 489
Re: PRIMEROS PASOS EN BASH
«
Respuesta #11 :
13 Sep 2007, 19:57 »
Yo ya me he leído
"tu rollo en tu blog"
,
y estoy impaciente por la segunda entrega.
Lo que sé de informática lo aprendí en la red de gente como tú (y otros miembros de este foro), con ganas de compartir altruístamente lo que sabe. Gracias anticipadas por el curre en el que te has metido y
En línea
tat
Moderador
Palizas oficial
Mensajes: 9511
Patch y buenas vibraciones
Re: PRIMEROS PASOS EN BASH
«
Respuesta #12 :
14 Sep 2007, 15:20 »
Yo también me lo he leído y ya estoy ansioso por leer la segunda parte
ánimo!
En línea
[Mi vida en Libertat]
[Mi galeria en Fotolibre.net]
Colegota
Palizas oficial
Mensajes: 7047
¡Me faltan carretes!
Re: PRIMEROS PASOS EN BASH
«
Respuesta #13 :
15 Sep 2007, 13:00 »
Buenas,
yo la teoría me la se. De hecho, programaba en máquinas Unix en tiempos, pero como ya habéis podido comprobar se me ha olvidado mucho...
Vamos, que también estoy esperando la segunda entrega que aprovecharé para ponerme al día.
Saludos,
Colegota
En línea
[Canon EOS
50
40D (sin diapos ni nada)] [Escáner Minolta DSE 5400]
[Vuescan]
[El GIMP]
[Galería]
[Página de Viajes]
redy
Moderador
Bimilenari@
Mensajes: 2605
Gnudista
Re: PRIMEROS PASOS EN BASH
«
Respuesta #14 :
16 Sep 2007, 11:35 »
Cita de: Colegota en 15 Sep 2007, 13:00
Vamos, que también estoy esperando la segunda entrega
Marchando
En línea
Admiro a la gente que sabe contar historias solamente con sus fotos, porque en el fondo las fotos son como los chistes; si tienes que explicarlas es que no son buenas...
Páginas: [
1
]
2
3
Imprimir
« anterior
próximo »
Ir a:
Por favor selecciona un destino:
-----------------------------
Normas y Contacto
-----------------------------
=> Normas y uso
=> Avisos de los administradores
=> Contacto y Sugerencias
===> Presentaciones
===> Haz tus pruebas aquí
===> Alojamiento de páginas y/o galerías en FotoLibre
-----------------------------
Ayuda
-----------------------------
=> Pide ayuda aquí
=> Manuales
===> Cursos y manuales externos
-----------------------------
Comparte tus fotos aquí
-----------------------------
=> Paisajes
=> Retrato
=> Desnudo
=> Viajes
=> Flora y Fauna
=> Otros temas
=> Juegos
-----------------------------
La Taberna del Fotón
-----------------------------
=> Fotos son amores
=> Libre como el software
=> Off-Fotic ;)
=> Congresos FotoLibreros
Cargando...