私のデータベースはディレクトリ構造に格納されています。
年/月/日.db
例は次のとおりです。
ディビ/2013/10/15.db
スクリプトを使用してその中のファイルの範囲を選択できる必要があります(「dbSelect 2013/09/01.db 2013/10/15.db」は、この日付間のすべての.dbファイルを出力する必要があります。
この問題をどのように解決できるかについてのアイデアはありますか?
答え1
これが私がすることです。より良い/よりエレガントなソリューションがあるかもしれません。スクリプトは「db」ディレクトリで実行する必要があります。
#!/bin/bash
STARTDATE="2013/09/01"
ENDDATE="2013/10/15"
day=0
while [ "$DATE" != "$ENDDATE" ]; do
DATE=`date --date="$STARTDATE + $day days" +%Y/%m/%d`
if [ -f "$DATE.db" ]; then
# This only echoes the file name, you might want to do something else here
echo "$DATE.db"
fi
day=$(($day+1))
done
編集:「./dbSelect.sh 2013/09/01 2013/10/15」パラメータを許可する場合:
#!/bin/bash
STARTDATE="$1"
ENDDATE="$2"
day=0
while [ "$DATE" != "$ENDDATE" ]; do
DATE=`date --date="$STARTDATE + $day days" +%Y/%m/%d`
if [ -f "$DATE.db" ]; then
# This only echoes the file name, you might want to do something else here
echo "$DATE.db"
fi
day=$(($day+1))
done