7

我有一个 CSV 文件,例如

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

我想包括引号来让它像:

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

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

4

4 回答 4

10

使用 sed:

sed -e 's/^\|$/"/g' -e 's/,/","/g' input
于 2013-06-17T22:27:09.953 回答
5

这可能对您有用(GNU sed):

sed -r 's/[^,]+/"&"/g' file
于 2013-06-18T05:53:06.907 回答
3

awk

awk '{gsub(/[^,]+/,"\"&\"")}1' file.csv
于 2013-06-18T00:13:10.487 回答
2

使用带有 CSV 库的语言来处理 CSV 数据通常更简洁:

ruby -rcsv -ne 'puts CSV.generate_line(CSV.parse_line($_), :force_quotes=>true)'
于 2013-06-17T23:25:31.293 回答