我正在使用下面的 awk 命令,但数据分为多行,因为字符串字段包含 , 。
输入 csv 文件
输出制表符分隔符
awk 'BEGIN{FS = "," ; -v OFS = "\t" ; } {$1 = $1}1 ' input > output
输入:
field1 , field 2,field3
abc,"xyz,abc",MNC
输出
Field 1 FIELD 2 FIELD 3
abc xyz,abc MNC
如有任何帮助,我们将不胜感激
在
FPAT
中使用 gnu-awk
你可以这样做:
awk -v OFS='\t' -v FPAT='"[^"]*"|[^,"]+' '{$1=$1} 1' input
field1 field 2 field3
abc "xyz,abc" MNC
您可以使用mlr
mlr --c2t cat file
或者红宝石:
ruby -r csv -e 'CSV.parse($<.read).each{|row| puts row.join("\t")}' file
任一打印:
field1 field 2 field3
abc xyz,abc MNC