这是我的代码,它以编号格式打印出我的文本:
awk '{printf("%s "%d" n" ,$0 , NR)}' mapcycle_surf1.txt
输出:
"surf_004_final1" "1"
"surf_1day" "2"
"surf_2012_beta12" "3"
"surf_3" "4"
如何像这样从 0 而不是 1 开始编号计数:
"surf_004_final1" "0"
"surf_1day" "1"
"surf_2012_beta12" "2"
"surf_3" "3"
你可以做print i++
,见下面的测试:
kent$ seq 7|awk '{print i++}'
0
1
2
3
4
5
6
使用您的声明,您可以尝试:
awk '{printf("%s "%d" n" ,$0 , i++)}' input
NR-1
是解决方案
awk '{printf("%s "%d" n" ,$0 , NR-1)}' mapcycle_surf1.txt
感谢Tom Fenech的回答。
这是更好的答案,感谢费多基
awk '{print $0, NR-1}' mapcycle_surf1.txt