Guardar la salida del comando de búsqueda en la variable

Guardar la salida del comando de búsqueda en la variable

Estoy intentando guardar el resultado de la búsqueda en una variable de esta manera:

a=find /Users/Downloads/DTI_allsites/subprojects/*/UII_0077 -name "dti_preprocessed" -type d

Pero sigo recibiendo el siguiente mensaje:

-intento:

/Users/Downloads/DTI_allsites/subprojects/UII_B/UII_0077: es un directorio

cada vez que intento usar el comando, hacer eco de la ruta usando: echo $a

No consigo guardar nada en la variable. ¿Cómo puedo arreglar esto?

Respuesta1

Dado que finddevuelve una lista de rutas de archivos, querrás utilizar una variable de matriz. Dado que la ruta de un archivo puede contener cualquier carácter excepto NUL, querrás usar -print0y dividir el resultado en NUL.

Con bash4.4+:

readarray -td '' list < <(find ... -print0)

so-something-with "${list[@]}"

información relacionada