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