次の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
次の2つの結果を返す必要があります。
1) ./2EFF5EBF2B2D/Library/Private Documents/iaGambro_gambro.sql
2) ./A1AF3463BFD2/Library/Private Documents/iaGambro_gambro.sql
ただし、空白のため、次の4が返されますPrivate Documents
。
1) ./2EFF5EBF2B2D/Library/Private
2) Documents/iaGambro_gambro.sql
3) ./A1AF3463BFD2/Library/Private
4) Documents/iaGambro_gambro.sql
空白のあるパスを選択的に認識させるにはどうすればよいですか?
メモ:ちょうど印刷するのではなく、与えられたパスで実行する方法を探しています。
答え1
次のオプションが利用可能ですfind ... -exec
。
find . -name iaGambro_gambro.sql -exec bash -c '
select file do
: Do something with "$file"
break
done
' bash {} +