Awk 是否有代码用于从第一列的开头跳过两行,然后在bash中打印自然数
我必须在第一列写自然数(1,2,3,…,直到行尾),但我必须在从开始跳过两行后开始。例如: 我有以下文件FILENAME.txt:Awk 是否有代码用于从第一列的开头跳过两行,然后在bash中打印自然数,awk,Awk,我必须在第一列写自然数(1,2,3,…,直到行尾),但我必须在从开始跳过两行后开始。例如: 我有以下文件FILENAME.txt: ID_1 ID_2 missing sex ZlogTrem2 prmdiag 0 0 0 D P B 0 DE02GSADZND100207 0 2 -0.304982 NA 0 DE02GSADZND100304 0 1 0.00852952 NA 0 DE02GSADZND100983 0 2 -0.58584 0 0 DE03GSADZND100674 0
ID_1 ID_2 missing sex ZlogTrem2 prmdiag
0 0 0 D P B
0 DE02GSADZND100207 0 2 -0.304982 NA
0 DE02GSADZND100304 0 1 0.00852952 NA
0 DE02GSADZND100983 0 2 -0.58584 0
0 DE03GSADZND100674 0 2 0.173685 NA
ID_1 ID_2 missing sex ZlogTrem2 prmdiag
0 0 0 D P B
1 DE02GSADZND100207 0 2 -0.304982 NA
2 DE02GSADZND100304 0 1 0.00852952 NA
3 DE02GSADZND100983 0 2 -0.58584 0
4 DE03GSADZND100674 0 2 0.173685 NA
我想要FILENAME.txt:
ID_1 ID_2 missing sex ZlogTrem2 prmdiag
0 0 0 D P B
0 DE02GSADZND100207 0 2 -0.304982 NA
0 DE02GSADZND100304 0 1 0.00852952 NA
0 DE02GSADZND100983 0 2 -0.58584 0
0 DE03GSADZND100674 0 2 0.173685 NA
ID_1 ID_2 missing sex ZlogTrem2 prmdiag
0 0 0 D P B
1 DE02GSADZND100207 0 2 -0.304982 NA
2 DE02GSADZND100304 0 1 0.00852952 NA
3 DE02GSADZND100983 0 2 -0.58584 0
4 DE03GSADZND100674 0 2 0.173685 NA
我正在使用这个代码awk'{$1=NR;print}文件名
,但是在这个代码的帮助下,自然数从第一行开始,我希望它从第三行开始
请在这方面帮助我
awk 'NR>2{$1=NR-2} {print}' file
输出:
ID_1 ID_2 missing sex ZlogTrem2 prmdiag
0 0 0 D P B
1 DE02GSADZND100207 0 2 -0.304982 NA
2 DE02GSADZND100304 0 1 0.00852952 NA
3 DE02GSADZND100983 0 2 -0.58584 0
4 DE03GSADZND100674 0 2 0.173685 NA
ID_1 ID_2缺少性别ZlogTrem2 prmdiag
零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零
1 DE02GSADZND1002070 2-0.304982 NA
2 DE02GSADZND100304 0 1 0.00852952 NA
3 DE02GSADZND100983 0 2-0.58584 0
4 DE03GSADZND100674 0 2 0.173685 NA
请参阅:另一个神秘的版本
$ awk '(n=NR-2)<=0 || $1=n' file
ID_1 ID_2 missing sex ZlogTrem2 prmdiag
0 0 0 D P B
1 DE02GSADZND100207 0 2 -0.304982 NA
2 DE02GSADZND100304 0 1 0.00852952 NA
3 DE02GSADZND100983 0 2 -0.58584 0
4 DE03GSADZND100674 0 2 0.173685 NA
$awk'(n=NR-2)