我希望在我的文件中有空行的地方重新开始计数。
我的文件是这样的: cat test.txt
333 | 111 | 222 | 333 | 222 | 111 | 333 | 222 |
我正在使用cat test.txt | sed' s / | / \ n / g' | NL 输出: 1 333 2 111 3 222 4 333
5 222 6 111 7 333
我想要的是,在空行之后,计数再次从1开始。 期望的输出: 1 333 2 111 3 222 4 333
1 222 2 111 3 333
请帮帮忙?
答案 0 :(得分:0)
这项任务在“awk”中非常微不足道,或其中一个克隆gawk,nawk。
使用内容:
创建脚本linerecount.awk/^$/ { lineno=0; next}
{ print ++lineno, $0}
第一行明显重置亚麻并跳到下一行。 第二行增加亚麻,打印,打印线。
将gawk -f linerecount.awk应用于您想要的任何内容。
输入:
$ cat input.txt
First line
Second line
Third line
Second part, First line
Second line
Third line
Final part, First line
Second line
输出:
$ gawk -f linerecount.awk < input.txt
1 First line
2 Second line
3 Third line
1 Second part, First line
2 Second line
3 Third line
1 Final part, First line
2 Second line