嗨我需要详细说明一个大的csv文件(20M行)为每个逗号分隔的字段添加双引号。 CSV文件中拿到8场昏迷界定如下:使用awk在.CSV逗号分隔文件中添加双引号
'2016-03-12','12393659','134',,'35533605',189348,9798,gmail.com;live_com.com
'2016-03-12','12390103','138',,'35438006',5133,1897,google.com
'2016-03-12','45616164','139',,'01318800',10945593,596633,facebook.com;tumblr.com;t.co
'2016-03-12','45673436','38',,'86441702',4350985,150327,serving-sys.com;chartboost.com;admarvel.com;mydas.mobi;adap.tv;cloudfront.net
正如你看到的第一个3场是单引号之间,4日是空白,单引号和6日至8日分隔仅逗号之间的第5位。 我希望得到以下结果(也第四场即使空需要用双引号):
"2016-03-12","12393659","134","","35533605","189348","9798","gmail.com;live_com.com"
"2016-03-12","12390103","138","","35438006","5133","1897","google.com"
"2016-03-12","45616164","139","","01318800","10945593","596633","facebook.com;tumblr.com;t.co"
"2016-03-12","45673436","38","","86441702","4350985,"150327","serving-sys.com;chartboost.com;admarvel.com;mydas.mobi;adap.tv;cloudfront.net"
我部分从而以混合结果sed和awk:
sed -e s/\'//g inpu.csv > output.csv eliminate quotes
awk '{gsub(/[^,]+/,"\"&\"")}1' output.csv > output1.csv add double quotes
但第四场不是双引号,我需要尽可能减少精化时间。 无论如何,帮助AWK以更好的表现来完成所有的事情,并且还有第四场双引号。 许多thx的帮助。 M.Tave
Thanx再次作品很棒..一如往常。将使用这个,更多的压缩代码。 –