Como sacar un listado de mi carpeta LIBROS (alfabética, por autores) [Solucionado]

Tengo una carpeta 'LIBROS', subdividida en 26 carpetas A, B, C, D... (hasta Z=26)
En cada una de esas carpetas, van unas subcarpetas, cada una con el nombre de un autor y, en la de cada autor, sus libros.
Adjunto unos screenshots para que se vea mejor la estructura:


Pues bien, quisiera confeccionar una lista (un .doc, o un .html) similar a esto:

¿Alguien sabría decirme como se hace?

Gracias

Lo primero que me viene a la mente es que crees un script usando los bucles for con el comando ls -1d.

PabliNet escribió:

Lo primero que me viene a la mente es que crees un script usando los bucles for con el comando ls -1d.

No tengo ni idea de como se hace eso: yo solo soy un usuario.

A ver si te da una idea:

Supónganse que se tiene un directorio /usr/local/papers donde se alojan los documentos de un grupo de redactores de una revista, y se quiere saber cuáles fueron los últimos documentos modificados y su tamaño para su inclusión en el próximo número. Para esto se puede ejecutar el comando ls de la siguiente forma:

$ ls -lhtr /usr/local/papers

¿Algo asi te sirve?

Prueba con algo como esto:

ls | cut -d "/" -f 2 | xargs ls -R
A:
a.epub

B:
b.epub

C:
c.epub

Después esto lo puedes redireccionar a un listado.doc de la siguiente forma:

ls | cut -d "/" -f 2 | xargs ls -R > listado.doc

Espero que esto te sirva

(Respuesta a ALF)
Analicemos tu sugerencia (ls -lhtr)
# ls –lh Muestra la misma información que ls -l (toda la información de los archivos como los permisos, usuario y grupo al que pertenece, el tamaño del archivo, fecha y hora de creación y nombre del archivo), pero muestra el tamaño en Kbytes, MBytes, etc. para hacer mas fácil su lectura al usuario.
# ls -t Ordena los archivos por fecha de modificación.
# ls -r Muestra el contenido de un directorio, al revés.

Pues no, no se parece, en absoluto, a lo que necesito (ver arriba, el tercer screenshot)

Aunque revisando bien la estructura que tienes de directorios algo asi creo que es más adecuado:

ls | cut -d "/" -f 2 | xargs ls -Rp | cut -d "/" -f 2
A:
a.epub

Antonio con apellido:
a.epub

Fernado:
a.epub

Juan:
a.epub

B:
b.epub

C:
c.epub

Ahora habría que retocar un poco el formato de salida, pero como punto de partida creo que es lo que pedías. He puesto directorios con espacios para la prueba y lo hace correctamente como puedes comprobar.

Un saludo

slanor escribió:

Prueba con algo como esto:

ls | cut -d "/" -f 2 | xargs ls -R
A:
a.epub

B:
b.epub

C:
c.epub

Después esto lo puedes redireccionar a un listado.doc de la siguiente forma:

ls | cut -d "/" -f 2 | xargs ls -R > listado.doc

Espero que esto te sirva

Bueenooo... eso se va pareciendo bastante wink
Pero no entiendo algo, y me sobra algo.
No entiendo tus ¿2ª y 3.ª linea de ordenes? Supongo que no eran tales ordenes, sino un ejemplo del resultado ¿era eso? Me refiero a lo de:
A:
a.epub
(etc.)

En cuanto a lo que sobra, pondré una copia de lo que me da en la letra Z (por su simplicidad: 2 autores, cada uno con un libro).

Pero, el modelo de lo que queríamos conseguir, es esto:

Como se ve, nos sobran dos cosas: el listado de autores tras la inicial "Z", así como la repetición de esa inicial "Z" delante de cada autor, es decir, sobra lo que pongo aquí en rojo-negrita:

¿Podríamos eliminar eso?

slanor escribió:

Aunque revisando bien la estructura que tienes de directorios algo asi creo que es más adecuado:

ls | cut -d "/" -f 2 | xargs ls -Rp | cut -d "/" -f 2

Ahora habría que retocar un poco el formato de salida, pero como punto de partida creo que es lo que pedías. He puesto directorios con espacios para la prueba y lo hace correctamente como puedes comprobar.

Un saludo

Vaya! Mientras te estaba contestando, tú mismo has corregido lo que te pedía meparto

He hecho la prueba, y habría que corregir dos cosas, una más importante que la otra:

1.ª (la más importante) El número de líneas en blanco tras cada inicial: es excesivo y, además, variable (hay letras -la Z, por ejemplo- con 3 lineas en blanco a continuación de la inicial, y otras -la W, por ejemplo- con...¡26 líneas en blanco hasta llegar al primer autor de esa letra!

2.º (no es fundamental, pero sería la perfección): el escalonado de márgenes (las iniciales completamente a la izquierda, los autores más a la derecha y, por fin, las obras aún más a la derecha).

Para que se entienda mejor esto último del 'escalonado de márgenes', te vuelvo a poner el resultado actual (para la Z):

Y el modelo a conseguir:

Ahora no estoy en casa por la noche te lo miro para darle formato. Lo de las lineas en blanco se eliminan con una opción al darle formato.

Un saludo

slanor escribió:

Ahora no estoy en casa por la noche te lo miro para darle formato. Lo de las lineas en blanco se eliminan con una opción al darle formato.

Un saludo

En vos confío, ¡oh mi poste! (slanor = poste, en sueco) redface
Y gracias anticipadas