bash - How to add line number by resetting it after each common pattern?
问题描述
I have a file that looks like this:
dddd
3434
5445
5656
2323
dddd
67
565
454
dddd
45
56
78
I want to add line numbers to this file by setting the numbers again after each pattern 'dddd'. An output like this:
dddd
1 3434
2 5445
3 5656
4 2323
dddd
1 67
2 565
3 454
dddd
1 45
2 56
3 78
Thank you so much.
解决方案
Maybe something like
awk '/dddd/ { ln = 1; print; next } { print ln++, $0 }' foo.txt
推荐阅读
- python - “NoneType”对象没有属性“earlierDate_”
- javascript - 如何设置仅激活或扩展的 Bootstrap 手风琴卡的样式?
- apex - Oracle APEX 20.1:带有自动完成功能的文本字段上的主题 Vita Dark CSS-Error
- c# - EF Core - 如何包含子实体但限制返回的子实体数量
- c++ - Raspberry PI 上的 Mosquitto C++ 客户端未收到消息
- python-3.x - openpyxl ValueError 格式化新数据行
- python-3.x - Python - tkinter 接口,使用 bind 仅在第一次工作(运行程序时)
- python - Keras 损失函数返回什么?
- sql - BigQuery:如何在 where 子句中调用存储过程?
- python - Python MySQL 连接器执行停止