[LUG.ro] Catalogar rápidamente multitud de ebooks
Manuel Naranjo
naranjo.manuel en gmail.com
Mar Feb 19 23:52:53 ARDT 2008
Juan Manuel,
> Voy a especificar más.
> Cree una base de datos pequeñita y revisé el script, quedándome algo así
>
> #!/bin/bash
> ARCHIVOS=$( tree -f -A -i ~/Fake\ database )
>
> for CAMPO in $ARCHIVOS; do
> LETRA=$(echo $CAMPO | awk -F/ '{print $2}' )
> DIRECTORIO=$(echo $CAMPO | awk -F/ '{print $3}' )
> ARCHIVO=$(echo $CAMPO | awk -F/ '{print $4}' )
> EXTENSION=$(echo $ARCHIVOS | awk -F\. '{print $3}' )
> AUTOR=$(echo $ARCHIVOS | awk -F\- '{print $1}' )
> OBRA=$(echo $ARCHIVOS | awk -F\- '{print $2}' | sed 's/$EXTENSION//' )
> echo "$AUTOR ; $OBRA ; $EXTENSION ; $CAMPO"
> done
Perfecto.
> Uno de los problemas es el de obtener el path del archivo junto con el
> nombre del autor al hacer
>
> tree -f -A -i Fake\ database/ | awk -F\- '{print $1}'
>
> Por ejemplo /Fake database/Letra F/Fromm Erich/ en vez de /Fromm Erich
>
> /Lo mismo sucede para obtener el nombre de las obras, que me dan el
> nombre y la extensión, y no solo el nombre. ¿Hay alguna manera de
> poner un segundo delimitador, o alguna otra solución?
No termino de entender bien cuál es tu problema. Una de esas tenes que
usar basename que te va a dar el nombre de un archivo o directorio,
ejemplos:
[manuel en manuel-laptop:~]$ basename /home/manuel/
manuel
[manuel en manuel-laptop:~]$ basename /home/manuel/youtubewget.sh
youtubewget.sh
Espero eso te ayude un poquito más. Pero vas por buen camino :D. Una de
esas podrías reemplazar muchos pipes (la barra parada) por llamadas a
basename, pero eso ya es más avanzado.
Saludos,
Manu
Más información sobre la lista de distribución Lugro