微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux-将csv文件转换为mysql插入语句

我正在尝试从CSV数据生成MySQL文件

90927744|1356976814398|0|1356976815339|18563182571|18563182571|18568753009|18563574221

有没有一种方法可以使用awk或sed生成MysqL插入语句,如下所示

insert into table (id,value,status,starttime,endtime,number,phone,number) values (90927744,1356976814398,0,1356976815339,18563182571,18563182571,18568753009,18563574221);

谢谢

解决方法:

要从输入中提取特定字段….

$echo "90927744|1356976814398|0|1356976815339|18563182571|18563182571|18568753009|18563574221" |  awk -F "|" '{print $4}'
1356976815339

如果a.txt中有一行(输入文件中有多行,请参见下面的脚本)

$cat a.txt | awk -F "|" '{print $4}'

因此,要输出所需的查询,

$cat a.txt | awk -F "|" '{printf("insert into table (id,value,status,starttime,endtime,number,phone,number) values (%d, %d, %d, %d, %d, %d, %d, %d) \n", $1, $2, $3, $4, $5, $6, $7, $8)}'

如果您的文件有多行,请使用以下脚本(或使之适应您的需求)

while read line           
do           
     echo "$line" | awk -F "|" ........
done < a.txt

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐