como faço para atribuir o resultado do comando "find" (que contém arquivos com espaço) à uma variável?
a dificuldade é que quando o nome do arquivo contém espaços, então, cada parte do nome do arquivo acaba por ser interpretado como se fosse um arquivo. assim, cada parte do nome do arquivo é armazenado em uma linha da variável.
o que quero é que cada nome de arquivo retornado pelo comando "find" (mesmo aqueles que contém espaço em seus nomes) fique armazenado em uma linha da variável.
mesmo colocando o nome do arquivo entre aspas por meio do comando "sed" não consegui fazer o comando "find" retornar para cada linha um nome do arquivo completo.
por exemplo...:
count=0
for i in $(find . -iname "*.zip" -o -iname "*.rar" | sed 's/^\|$/\"/g')
do
cmdlst[$count]=$i
echo ${cmdlst[$count]}
let count=$count+1
done
com este código, se o diretório contiver apenas dois arquivos, mas com nomes que contenham um espaço, então, o laço "for" ao invés de ter duas repetições terão quatro repetições: uma repetição para cada parte do nome do arquivo.