Shell 通过CSV文件进行解析
我有如下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语句
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');”