首页 > 解决方案 > 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.

标签: bash

解决方案


Maybe something like

awk '/dddd/ { ln = 1; print; next } { print ln++, $0 }' foo.txt

推荐阅读