现在非常多的数据需要插入到数据库,格式如下

555

555

大区一

11

1/11

556

556

大区二

12

1/12

想插入到数据库一定是如下的格式

 

 
  
  1. INSERT INTO game_broker values ('618','618','大区一','74','1/74',''); 

这样可以将要插入的原始数据写入到game的文本文件里,中间用空格分隔开,生成想要的insert语句的脚本如下

 

 
  
  1. cat game | awk '{print("INSERT INTO game_broker values (""'\''"$1"'\''"",""'\''"$2"'\''"",""'\''"$3"'\''"",""'\''"$4"'\''"",""'\''"$5"'\''"",""'\''""'\''"")"";")}' 

这样就可以生成想要的insert语句了。

 

在这个过程中主要涉及到输出单引号和双引号的问题

单引号生成

 

 
  
  1. 首先使用一对双引号"",然后在双引号里面两个单引号,接着在两个单引号里面加入一个转义的单引号\' 
  2. awk '{print "'\''"}'       # 放大: awk '{print  "  '  \  '  '   " }'

双引号生成

 

 
  
  1. 用一对双引号将一个双引号括起来,然后使用转义字符\去对双引号进行转义 
  2. awk '{print "\""}'        #放大:awk '{print "  \"  “}'

 

 参考文章

http://ryyt1231.blog.163.com/blog/static/20708281201101945417606/