[LUG.ro] Catalogar rápidamente multitud de ebooks

Manuel Naranjo naranjo.manuel en gmail.com
Mie Feb 6 10:52:39 ARDT 2008


Juan Manuel Oppedisano escribió:
> Manuel: el formato es como en el siguiente ejemplo en la mayor parte
> del disco
>
> ./Letra F/France Anatole
> ./Letra F/France Anatole/Anatole France - El Figon de la Reina Patoja.pdf
> ./Letra F/France Anatole/France, Anatole - La Rebelion De Los Angeles.doc
> ./Letra F/Francisco A
> ./Letra F/Francisco A/Francisco, A. - Resea Rebelion De Los Angeles.doc

Ok necesitas algo más complejo. Primero tenés q' identificar lo q' es
directorio de lo q' es archivo.

Luego tenés q' separar los campos del archivo. Un ejemplito sensillo en
bash sería:

#!/bin/bash
ARCHIVOS=$( tree -f -A -i )

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 $ARCHIVO | awk -F\. '{print $2}' )
    AUTOR=$(echo $ARCHIVO | awk -F\- '{print $1}' )
    OBRA=$(echo $ARCHIVO | awk -F\- '{print $2}'  | sed "s/$EXTENSION//' )
    echo "$AUTOR ; $OBRA ; $EXTENSION; $CAMPO"
done

LETRA y DIRECTORIO no los uso, pero podrías generar más campos para la
base de datos

Metes este codigo en un archivito como por ejemplo script.sh y después
haces:

bash script.sh > base.csv

Saludos
Manu


Más información sobre la lista de distribución Lugro