引号标记为.csv(每个字段)AWK / SED

时间:2013-06-17 22:22:20

标签: linux sed awk

我有像

这样的csv文件
Brand,Type,Color
Porsche,Sport,Red
BMW,Coupe,Blue

我想用引号括起来:

"Brand","Type","Color"
"Porsche","Sport","Red"
"BMW","Coupe","Blue"

最快的方法是什么?我将在cronjob中实现它。

感谢!!!!

亚当

4 个答案:

答案 0 :(得分:7)

使用sed:

sed -e 's/^\|$/"/g' -e 's/,/","/g' input

答案 1 :(得分:5)

这可能适合你(GNU sed):

sed -r 's/[^,]+/"&"/g' file

答案 2 :(得分:2)

使用awk

awk '{gsub(/[^,]+/,"\"&\"")}1' file.csv

答案 3 :(得分:1)

使用具有CSV库的语言来处理CSV数据通常比较简洁:

ruby -rcsv -ne 'puts CSV.generate_line(CSV.parse_line($_), :force_quotes=>true)'