0
我有一個小型腳本,它接受表中的值,然後放入csv文件中。問題是我不能根據IDRow產生多個csv文件。生成多個csv文件,具體取決於IDRow
if [ "$1" = "" ]
then
echo "Database path"
exit 1
fi
if [ "$2" = "" ]
then
echo "Csv file output path"
exit 1
fi
db=$1
t=($(sqlite3 $db ".tables 'myTable'"))
for i in "${t[@]}"
do
sqlite3 $db<<- EXIT_HERE
.mode csv
.separator ;
.output $2/$i.csv
SELECT IDRow,strftime('%d-%m-%Y %H:%M:%S',Date),Value FROM $i order by IDRow;
.exit
EXIT_HERE
echo "$i.csv generated"
done
我得到的csv文件是這樣的:
IDRow;日期時間;值
3; 06-03-2017 10:53:40; 120
3; 06-03-2017 10:53:41; 120
4; 06-03-2017 11:41:22; 12000
4; 2017年6月3日11:41:23; 12000
5; 2017年6月3日11:51:49; 15000
5; 2017年6月3日11:51:50; 15000
我怎樣才能得到3個不同的文件?謝謝
您已經有了表名的循環。添加另一個循環。 –
在'order by'之前加上'WHERE id_row ='$ i'。祝你好運。 – shellter
我通過添加另一個查詢和for循環找到了一個解決方案。謝謝 – dani