Você pode usar a opção find ... -exec
:
find . -name iaGambro_gambro.sql -exec bash -c '
select file do
: Do something with "$file"
break
done
' bash {} +
Eu tenho o seguinte script Bash:
#!/bin/bash
cd ~/Library/Developer/CoreSimulator/Devices/;
files=$(find . -name iaGambro_gambro.sql)
select file in $files; do
if [ -n "$files" ]; then
sudo sqlite3 -header -column "${file}"
fi
break
done
Deve devolver os 2 resultados seguintes:
1) ./2EFF5EBF2B2D/Library/Private Documents/iaGambro_gambro.sql
2) ./A1AF3463BFD2/Library/Private Documents/iaGambro_gambro.sql
Mas está retornando os 4 seguintes por causa do espaço em branco em Private Documents
:
1) ./2EFF5EBF2B2D/Library/Private
2) Documents/iaGambro_gambro.sql
3) ./A1AF3463BFD2/Library/Private
4) Documents/iaGambro_gambro.sql
Como obtenho o select para reconhecer os caminhos com os espaços?
OBSERVAÇÃO: estou procurando como executar no caminho determinado, não apenas imprimi-lo
Tags bash shell-script filenames