Listar archivos en subdirectorios específicos

Listar archivos en subdirectorios específicos

Tengo una estructura de carpetas como esta:

/1/a/x
/1/b/y
/2/a/z
/2/b/d
/3/a/r
/3/b/e

Quiero enumerar archivos + tamaño de archivo para todos los archivos en subcarpetas en las carpetas 'a'. Intenté usar buscar pero estoy atascado. ¿Cuál sería el comando correcto?

Respuesta1

Para imprimir el tamaño y la ruta completa, intente esto.

find /[123]/a/* -type f -printf '%s %p\n'

Verman findpara otras cadenas de formato que puedas usar con -printf. En particular, es posible que desee %Po %fen lugar de %py quizás %ben lugar de %s.

[123]coincide con un nombre que tiene un solo dígito en el rango 1-3; tal vez ampliarlo *o algo un poco más restringido si su ejemplo no corresponde exactamente a la realidad que está tratando de describir.

GNU finddebería ser estándar en CentOS, pero si necesita un código portátil adecuado, tal vez lo utilice find ... -exec stat {} \;(pero tenga en cuenta que stattambién tiene problemas de portabilidad; el comando debería existir en la mayoría de las plataformas, pero la forma exacta de lograr que imprima algo específico varía según las implementaciones). Otra opción es find ... -lspero entonces te enfrentas aanalizando ls.

Si no necesita recorrer subdirectorios, no necesita find.

stat -c '%s %n\n' /[123]/a/*/*

información relacionada