Shell 通过CSV文件进行解析

Shell 通过CSV文件进行解析,shell,Shell,我有如下CSV文件: 2015-12-10,22:45:00,205,5626,85 2015-12-10,23:00:01,79,5625,85 2015-12-13,13:00:01,4410,5629,85 2015-12-13,13:15:00,4244,5627,85 2015-12-13,13:30:00,4082,5627,85 insert into table values($date,$time,$current,$full,$cycle) 我尝试使用此脚本生成SQL语句

我有如下CSV文件:

2015-12-10,22:45:00,205,5626,85
2015-12-10,23:00:01,79,5625,85
2015-12-13,13:00:01,4410,5629,85
2015-12-13,13:15:00,4244,5627,85
2015-12-13,13:30:00,4082,5627,85
insert into table values($date,$time,$current,$full,$cycle)
我尝试使用此脚本生成SQL语句:

#!/bin/bash

inputfile=${1}
echo $inputfile
OLDIFS=$IFS
IFS=,
while read date time current full cycle
do
echo -—$date --$time --$current --$full --$cycle
echo insert into table values($date,$time,$current,$full,$cycle)
sleep 1
done < $inputfile
IFS=$OLDIFS
我需要这样生成语句:

2015-12-10,22:45:00,205,5626,85
2015-12-10,23:00:01,79,5625,85
2015-12-13,13:00:01,4410,5629,85
2015-12-13,13:15:00,4244,5627,85
2015-12-13,13:30:00,4082,5627,85
insert into table values($date,$time,$current,$full,$cycle)

请建议对此进行修复。

使用双引号,因为
()
下的任何内容都意味着生成一个新进程

echo "insert into table values($date,$time,$current,$full,$cycle)"
全部,

我把这个修好了-

 echo 'insert into table values ('$date','$time','$current','$full','$cycle')'

Sma,仍然相同-
/Scripts/CreateSql.sh:line 10:意外标记附近的语法错误
('/Scripts/CreateSql.sh:line 10:
echo“insert into table values($date、$time、$current、$full、$cycle)”
@AlanJebakumar答案正确。尝试删除“smart”终端应用程序中的替换。似乎它将ascii
替换为unicode
@jm666:我不知道如何继续执行您的建议。您能告诉我如何删除
“smart”吗“
substitutions?@AlanJebakumar我不知道你的环境是什么。我只看到了你的评论,其中清楚地使用了:
,它与通缉的
@jm666:我能够通过-
echo'插入elangovan21_alanj_test.BatteryInfo值(“$date'”,“$time”来修复这个问题。”“'、'$current'、'$full'、'$cycle');”