将1的列添加到制表符分隔的文件中

时间:2013-07-21 13:36:25

标签: awk

无法找到解决方案,即使已经提出了这个问题的数千种变体。

我想使用awk或sed将一列1添加到制表符分隔的文件中。

该文件将有大约2000万行,所以有效的东西会很好。

转过来:

a   b   c
r   j   k
i   t   w

进入这个:

a   b   c   1
r   j   k   1
i   t   w   1

3 个答案:

答案 0 :(得分:3)

的代码:

sed 's/$/&\t1/' file

答案 1 :(得分:2)

一个简单的方法。将输入和输出字段分隔符修改为选项卡。 NF变量保留最后一列,因此增加一个新列,分配1数字并打印:

awk 'BEGIN { FS = OFS = "\t" } { $(NF+1) = 1; print $0 }' infile

它产生:

a   b   c   1
r   j   k   1
i   t   w   1

答案 2 :(得分:1)

假设您使用awk -F'\t'而非awk

{
    print $0 FS 1;
}

如果您未使用-F选项,请将FS 1替换为"\t1"