
Estou tentando salvar a saída do find em uma variável desta maneira:
a=find /Users/Downloads/DTI_allsites/subprojects/*/UII_0077 -name "dti_preprocessed" -type d
Mas continuo recebendo a seguinte mensagem:
-bash:
/Users/Downloads/DTI_allsites/subprojects/UII_B/UII_0077: é um diretório
sempre que tento usar o comando, para ecoar o caminho usando:
echo $a
Não recebo nada salvo na variável. Como posso consertar isso?
Responder1
Como find
retorna uma lista de caminhos de arquivos, você desejaria usar uma variável de array. Como um caminho de arquivo pode conter qualquer caractere, exceto NUL, você desejaria usar -print0
e dividir o resultado em NUL
Com bash4.4
+:
readarray -td '' list < <(find ... -print0)
so-something-with "${list[@]}"