google gsutil limit ls to a given depth level Elimitar la función de ls de gsutil de Google a un nivel de profundidad dado
Necesito averiguar qué subcarpetas están presentes en un bucket para decidir qué ruta sincronizar.
ls -r gs://<mi_bucket>/**
devuelve todos los archivos y carpetas ¡y tengo una profundidad de árbol de >10 allí!
¿Cómo puedo obtener la lista de carpetas y subcarpetas solamente y hasta una profundidad final de, digamos, 3 como con el argumento find -maxdepth
?
Gracias de antemano.
davy.ai
Para listar solo las subcarpetas y su contenido inmediato hasta cierta profundidad, puedes usar el comando
gsutil ls
con la bandera-d
(directorio) y el comandohead
para limitar la salida. Por ejemplo, para listar todas las subcarpetas y su contenido inmediato hasta una profundidad de 3, puedes usar el siguiente comando:Explicación:
gsutil ls -d gs://<mi_bucket>/**
lista todos los objetos en<mi_bucket>
e incluye solo directorios. El/**
le indica a gsutil que incluya todos los subdirectorios.grep /$
filtra la salida para mostrar solo las líneas que terminan con una barra diagonal, lo cual indica un directorio.head -n 10
limita la salida a las primeras 10 líneas, mostrando así las carpetas y su contenido inmediato hasta una profundidad de 3. Puedes ajustar el número para mostrar una cantidad diferente de resultados.Con este comando, podrás ver la lista de subcarpetas en tu bucket y decidir qué ruta sincronizar.