在文件末尾添加一列,并带有一定数量的行的值

时间:2019-07-19 10:27:34

标签: linux shell awk

我有一个文本文件,我想在末尾添加一个新列,前2000行的值为'0',接下来的3000行的值为'1'。 使用awk或shell或sed的代码将是合适的。

3 个答案:

答案 0 :(得分:0)

类似的事情可以完成工作:

awk '{ if (NR<=2000) print $0,0; else if (NR<=5000 ) print $0,1; }' input_filename

当然,您可以根据需要更改定界符

如果您还需要打印5000行之后的所有行,则可以使用如下代码:

 awk '{ if (NR<=2000) print $0,0; else if (NR<=5000 ) print $0,1; else print }' 

答案 1 :(得分:0)

简短的awk

awk '$0=$0(NR<2001?" 0":" 1")' file

这将为前2000行添加0,为其余2000行添加1

您想在5000停留

awk '$0=$0(NR<2001?" 0":(NR<5001?" 1":""))' file

答案 2 :(得分:-1)

尝试一下:

awk 'NR<2001{$(NF+1)=0;print;next}NR<5001{$(NF+1)=1}7' file