我有一个文本文件,我想在末尾添加一个新列,前 2000 行的值为“0”,接下来的 3000 行的值为“1”。使用 awk 或 shell 或 sed 的代码将是合适的。
3 回答
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 }'
于 2019-07-19T10:37:25.347 回答
0
一个简短的awk
awk '$0=$0(NR<2001?" 0":" 1")' file
这将添加0前 2000 行和1其余行。
你喜欢停下来5000
awk '$0=$0(NR<2001?" 0":(NR<5001?" 1":""))' file
于 2019-07-19T11:24:17.030 回答
-1
试试这个单线:
awk 'NR<2001{$(NF+1)=0;print;next}NR<5001{$(NF+1)=1}7' file
于 2019-07-19T10:50:45.297 回答