bash select文のファイルパスでスペースを無視する方法

bash select文のファイルパスでスペースを無視する方法

次の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 {} +

おすすめ記事