无法找到解决方案,即使已经提出了这个问题的数千种变体。
我想使用 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
无法找到解决方案,即使已经提出了这个问题的数千种变体。
我想使用 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
一种简单的方法。将输入和输出字段分隔符修改为选项卡。变量保留最后一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
sed的代码:
sed 's/$/&\t1/' file
假设您使用awk -F'\t'
而不仅仅是awk
:
{
print $0 FS 1;
}
如果您没有使用 -F 选项,请替换FS 1
为"\t1"
.