[eside-ghost] Saludos a todos
Alvaro Uría
fermat en movimage.com
Vie Nov 2 13:33:13 CET 2007
Hola,
Sergio [01/11/07 19:24 +0100] escribió:
> Hola a todos,
>
> Soy nuevo en la lista y querÃa presentarme y aportar algo. La verdad es
Bienvenido :-)
> El caso es que, en parte fruto de lo que aprendà allÃ, y en parte con lo
> que he ido investigando por mi cuenta desde entonces, hace unas semanas
> terminé de escribir un script de bash que permite generar
> automáticamente Ãndices HTML de colecciones de comics que tengamos en un
> ordenador y después grabar los Ãndices y los comics en un CD/DVD con
> autoarranque.
Mola.
> EstarÃa encantado de recibir comentarios o sugerencias para poder
> mejorarlo.
Para ser la primera versión está muy bien. Si ahora quieres refinarlo, a
parte de lo que te dicen en un comentario en tu blog sobre
modularizarlo, puedes jugar a eliminar trozos repetidos, e intentar
llamar el mÃnimo posible a programas externos (como "find"), o por lo
menos utilizar otros más livianos (como "basename" o "test").
Lo de eliminar trozos repetidos... por ejemplo,
En lugar de...
echo "tal cual" > fichero.html
echo "foo bar" >> fichero.html
Puedes hacer...
$ cat prueba.sh
#!/bin/sh
cat<<EOF > prueba.html
<html>
<head>prueba</head>
<body>
esto es una prueba
</body>
</html>
EOF
$ sh prueba.sh
$ cat prueba.html
<html>
<head>prueba</head>
<body>
esto es una prueba
</body>
</html>
O cuando quieres recoger los ficheros o subdirectorios de un directorio
(sin recursividad), en lugar de utilizar "find"...
for fileName in `find "$dirName" -maxdepth 1 -name "*" -type f -printf '%f\n' | sort`
Puedes hacer,
for fileName in $dirName/*
Y luego recoger el nombredelfichero.extension con `basename $fileName`
Incluso utilizar al principio del "for"...
"test ! -f $fileName && continue" para seguir con el siguiente elemento
encontrado en el bucle cuando no es un fichero.
Para el caso de los directorios, "test ! -d $dir".
(man test, man basename)
Luego, una norma de estilo en el mundo UNIX suele ser que los scripts no
superen los 80 caracteres por lÃnea (por aquello del tamaño de las
consolas tty).
Cosas como "cut --delimiter" se puede sustituir por "cut -d", etc. O:-)
> Gracias por lo que aprendà y un saludo.
Gracias a ti por compartir lo aprendido.
Saludos,
--
,____________,
.' '.
/~~~~^~~~^~^~~~\
/ _ /|| \ Alvaro UrÃa (0x5109E791)
; ( } \||D ; <fermat at movimage.com>
| | /\__,=[_] |
; ( |_\_ |---| ; It might look like I'm doing nothing, but
\ )| |/ | | / at the cellular level I'm really quite busy.
'. | /_ | |.'
'------------'
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre : no disponible
Tipo : application/pgp-signature
Tamaño : 189 bytes
Descripción: Digital signature
Url : https://listas.deusto.es/mailman/private/eside-ghost/attachments/20071102/bcb85aa9/attachment.bin
Más información sobre la lista de distribución eside-ghost