解析CSV文件

时间:2015-12-13 08:15:53

标签: 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

我尝试使用此脚本生成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

但是在执行时我得到了这个错误,它没有按预期运行:

/Scripts/CreateSql.sh: line 10: syntax error near unexpected token `('
/Scripts/CreateSql.sh: line 10: `echo insert into table values(\$date,$time,$current,$full,$cycle)'

我需要这样生成的语句:

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

请建议解决此问题。

2 个答案:

答案 0 :(得分:2)

使用双引号作为()下{shell}的任何内容,意味着生成一个新进程。

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

答案 1 :(得分:0)

所有

我修好了这个 -

 echo 'insert into table values ('$date','$time','$current','$full','$cycle')'
相关问题