首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在由空行分隔的文件中重复行号

如何在由空行分隔的文件中重复行号
EN

Stack Overflow用户
提问于 2015-08-29 07:49:31
回答 1查看 44关注 0票数 0

如果文件中有空行,我想用1重新开始计数。

我的文件是这样的: cat test.txt

333\x{e76f}\x{e76f}

我所用的是cat test.txt / sed /\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

请帮帮忙?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-29 08:01:17

这个任务在'awk‘中非常琐碎,或者它的一个克隆人盯着它,nawk。

创建一个包含内容的脚本linerecount.awk:

代码语言:javascript
复制
/^$/ { lineno=0; next}
     { print ++lineno, $0}

第一行显然会重置行号并跳到下一行。第二行增加行号,打印它,打印行。

和gawk -f linerecount.awk一起申请任何你想要的东西。

输入:

代码语言:javascript
复制
$ cat input.txt
First line
Second line
Third line

Second part, First line
Second line
Third line

Final part, First line
Second line

输出:

代码语言:javascript
复制
$ 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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32283855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档