es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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.

Tags:  

Answer

  1. Avatar for 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 comando head 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:

    gsutil ls -d gs://<mi_bucket>/** | grep /$ | head -n 10
    

    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.

Comments are closed.