Unix / Shell添加一系列列到文件

时间:2013-07-28 17:27:06

标签: shell sed awk dummy-data

所以过去几天我一直在尝试同样的问题,而且我正处于格式化路障中。

我有一个只有在处理相同数量的列时才会运行的程序。我知道总列数,以及填充值为0所需的数量,但我不知道如何做到这一点。是否有一些时间范围选项与awk或sed为此?

输入:

A B C D E
A B C D E 1 1 1 1 

输出:

A B C D E 0 0 0 0
A B C D E 1 1 1 1

字母列始终存在(具有不同的值),但这种“填空”功能正在躲避我。由于数据文件的大小,我无法使用R.

1 个答案:

答案 0 :(得分:0)

使用awk的一种方式:

$ awk 'NF!=n{for(i=NF+1;i<=n;i++)$i=0}1' n=9 file
A B C D E 0 0 0 0
A B C D E 1 1 1 1

只需将n设置为您想要填充的列数。