无法找到解决方案,即使已经提出了这个问题的数千种变体。
我想使用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
答案 0 :(得分:3)
sed的代码:
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"
。