有人可以帮我在这里,因为我不能让我的awk命令输出一些简单的3列CSv到sql
CSV
01Aug2011,user,12 02Aug2011,userb,34
AWK
我知道这个为我工作
如何使用AWK合并两个文件?
replace换行符
复杂的CSV循环awk循环
在unix中查找和删除(更新)
如何从awk中的variables中裁减空白?
awk -F',' '{ print "INSERT INTO Testing (`Date`,`User`,`Usage`) VALUES (" "'"$1"'""," """'"$2"'""," """'"$3"'"")" ""}' new.csv > output.log
但不是这个
awk -F',`Usage`) VALUES (" "`"$1"`""," """`"$2"`""," """`"$3"`"")" ""}' new.csv > output.log
在linux文件中只打印6个和10个字符
将命令输出行存储到基于新行字符的数组中
将awk脚本的输出redirect到一个文件
Awk / Perl以合理的格式将文本文件转换为csv
结合使用sed或awk的匹配行?
我不是很确定你的问题是什么。
但如果问题是单引号,你可以试试这个
awk -F',' '{ printf "INSERT INTO Testing (x27Datex27,x27Userx27,x27Usagex27) VALUES (x27%sx27,x27%sx27,x27%sx27)",$1,$2,$3;print ""}' yourfile
用你的示例输入行,输出是:
INSERT INTO Testing ('Date','User','Usage') VALUES ('01Aug2011','user','12') INSERT INTO Testing ('Date','Usage') VALUES ('02Aug2011','userb','34')
希望这是你想要的。
首先,它看起来像是在插入语句结束时丢失了分号。
尝试将sql粘贴到一个MysqL客户端会话中 – 这会显示您是否错误地生成了sql。 我怀疑MysqL是拒绝日期(如果它是一个日期列)。
我会使用printf – 它使代码更易于阅读 – 你有这么多的引号难以阅读 – 使用尽可能小的引号 – 只有添加它们,如果需要在那里。
awk -F',' '{ printf("INSERT INTO Testing (Date,User,Usage) VALUES('%s','%s',%d);n",$3); }' file.csv
总结以上是内存溢出为你收集整理的AWK csv文件到sql文件输出全部内容,希望文章能够帮你解决AWK csv文件到sql文件输出所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)