No es que se quede detenido, es que find es un poco quisquilloso con la pregunta
Prueba: find . -type f -name *.epub o locate epub
He modificado a esto:
find /directorio/de/los/libros -type f -iname "*.epub"
De esta manera funciona muy bien y es rápido. El problema aparece cuando los archivos son muchos.
Hice una prueba con 7.000 y funciono, tardando bastante en devolver los resultados, así que con 70.000 no hice la prueba ya que estimo que demorara muchísimo tiempo.
La cosa va de escanear un directorio y listar los archivos para luego hacer operaciones sobre estos, por ejemplo en caso de musica o libros leer los metadatos. Así que hay dos procesos uno que tiene por finalidad listar archivos y otro que tiene por finalidad "leer" algun dato de estos.
Quisiera hacer algo parecido a lo que hacen los programas como Rhythmbox o Amarok que van escaneando el directorio de música y a medida que encuentra archivos [proceso 1] va leyendo los metadatos [proceso 2].
Como lo tengo montado ahora hasta que no se lista la totalidad de archivos no comienza el otro proceso. Esto es poco eficiente.
Si alguien tiene un método mas eficiente para listar archivos de directorios seria interesante que lo comparta, sobretodo si trabaja bien con grandes cantidades de estos.
Nota: Dejo un programa de estudio en el que puse dos métodos de listado, uno es con
Find de shell y otro con
Rdir de gambas.
1 - Directorio de búsqueda
2 - Extensión de archivo
3 - Elección entre Find r Rdir
4 - Inicio de busqueda
5 - Mostrando los resultados (con un LCDLabel se muestra la cantidad encontrada)
Saludos.
Descripción: |
|
Descargar |
Nombre del archivo: |
ejemplo-find-0.0.5.tar.gz |
Tamaño: |
12.75 KB |
Descargado: |
32 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
ejemplo-find-0.0.5.tar.gz |
Tamaño: |
12.75 KB |
Descargado: |
32 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
ejemplo-find-0.0.5.tar.gz |
Tamaño: |
12.75 KB |
Descargado: |
32 veces |