comando para imprimir la lista de carpetas de varias unidades

comando para imprimir la lista de carpetas de varias unidades

¿Existe un comando CLI para imprimir en orden alfabético (pero en un solo texto u hoja de cálculo) la lista de carpetas contenidas en diferentes discos duros?

Por ejemplo, digamos que tengo esta configuración:

/sda/Alfa/File 1
/sdb/Bravo/File 5
/sdb/Bravo/File 20
/sdc/Delta/File 14
/sdc/Delta/File 11

Lo que me gustaría generar es un archivo TXT o de hoja de cálculo donde las carpetas se enumeran en orden alfabético, algo como:

File 1
File 5
File 11
File 14
File 20

¿Es esto algo que puedo hacer desde la CLI?

Respuesta1

Intenta usarfindconsort:

find /sda /sdb /sdc -type f -printf '%f\n' | sort

Por ejemplo:

$ tree sd[a-c]
sda
└── Alfa
    └── File 1
sdb
└── Bravo
    ├── File 20
    └── File 5
sdc
└── Delta
    ├── File 11
    └── File 14
$ find sd[a-c] -type f -printf '%f\n' | sort
File 1
File 11
File 14
File 20
File 5

Tenga en cuenta queestees lo que normalmente se entiende por orden alfabético, más precisamente expresado como orden lexicográfico. ( 5el carácter no va antes 1del carácter, por lo que 5la cadena no puede ir antes de 14la cadena; 05sin embargo, lo hará).


Explicación:

findes un programa para encontrar cosas.

  • -type findica que queremos archivos normales y no directorios (u otros archivos especiales).
  • La salida habitual de findes la ruta del archivo, por lo que obtendríamos sda/Alfa/File 1, pero al usar -printf '%f\n', le indicamos findque imprima solo el nombre del archivo.

información relacionada