AWK csv文件到sql文件输出

Gri*_*ckz 4 sql linux shell awk

有人可以帮我吗,因为我无法使用 awk 命令将一些简单的 3 列 CSv 输出到 SQl

CSV

01Aug2011,user,12
02Aug2011,userb,34
Run Code Online (Sandbox Code Playgroud)

AWK

我知道这个对我有用

awk -F',' '{ print "INSERT INTO Testing (`Date`,`User`,`Usage`) VALUES (" "'"$1"'""," """'"$2"'""," """'"$3"'"")" ""}' new.csv > output.log
Run Code Online (Sandbox Code Playgroud)

但不是这个

awk -F',' '{ print "INSERT INTO Testing (`Date`,`User`,`Usage`) VALUES (" "`"$1"`""," """`"$2"`""," """`"$3"`"")" ""}' new.csv > output.log
Run Code Online (Sandbox Code Playgroud)

Ken*_*ent 5

我不太确定你的问题是什么。

但如果问题是单引号,你可以尝试这个

awk -F',' '{ printf "INSERT INTO Testing (\x27\Date\x27,\x27User\x27,\x27Usage\x27) VALUES (\x27%s\x27,\x27%s\x27,\x27%s\x27)",$1,$2,$3;print ""}' yourFile
Run Code Online (Sandbox Code Playgroud)

对于您的示例输入行,输出为:

INSERT INTO Testing ('Date','User','Usage') VALUES ('01Aug2011','user','12')
INSERT INTO Testing ('Date','User','Usage') VALUES ('02Aug2011','userb','34')
Run Code Online (Sandbox Code Playgroud)

希望这就是你想要的。