-1

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

4

3 回答 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 回答