0

所以在过去的几天里我一直在尝试同样的问题,而且我遇到了格式化障碍。

我有一个程序,只有在它处理相同数量的列时才会运行。我知道总列数,以及填充值为 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。

4

1 回答 1

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为要填充的列数即可。

于 2013-07-28T17:32:38.997 回答