使用awk更新csv中的第n列

时间:2015-12-14 09:22:35

标签: bash shell csv awk

输入文件

1,2,3,4,5,6,7,8,9,10
11,22,33,44,55,66,77,88,99,100
111,222,333,444,555,666,777,888,999,1000


预期产出

1,2,3,4,5,6,7,8MNINS,9,10
11,22,33,44,55,66,77,88MNINS,99,100
111,222,333,444,555,666,777,888MNINS,999,1000


我尝试了以下命令

awk -F "," '{$8=$8"MNINS"}1' 1.csv > 2.csv

输出:

1 2 3 4 5 6 7 8MNINS 9 10
11 22 33 44 55 66 77 88MNINS 99 100
111 222 333 444 555 666 777 888MNINS 999 1000


它删除了所有逗号,因此我的csv文件正在更改为空格分隔文件。

请帮忙

1 个答案:

答案 0 :(得分:1)

您需要将逗号指定为输出字段分隔符值。

awk -F "," -v OFS="," '{$8=$8"MNINS"}1' 1.csv > 2.csv