regex - 如何在每四行后添加数字

标签 regex linux bash shell awk

我有一个文件,其中包含:

aaaaaaaaaa
aaaaaaaaaa
bbbbbbbbbb
cccccccccc
dddddddddd
eeeeeeeeee
ffffffffff
gggggggggg
aaaaaaaaaa
aaaaaaaaaa
bbbbbbbbbb
cccccccccc
dddddddddd
.....

我想为每四行添加数字,就像这个结果

aaaaaaaaaa
aaaaaaaaaa
bbbbbbbbbb
cccccccccc1
dddddddddd
eeeeeeeeee
ffffffffff
gggggggggg2
aaaaaaaaaa
aaaaaaaaaa
bbbbbbbbbb
cccccccccc3
dddddddddd
....

怎么做, 感谢您的帮助!

最佳答案

使用awk:

$ awk '!(NR%4){sub(/$/,++x)}1' file
aaaaaaaaaa
aaaaaaaaaa
bbbbbbbbbb
cccccccccc1
dddddddddd
eeeeeeeeee
ffffffffff
gggggggggg2
aaaaaaaaaa
aaaaaaaaaa
bbbbbbbbbb
cccccccccc3
dddddddddd

关于regex - 如何在每四行后添加数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22689045/

相关文章:

c - 正则表达式 C 中奇怪的空白字符行为

linux - arp -d 地址 : Operation not permitted linux

linux - 以组为单位设置语言环境

bash 删除文件名包含星号的文件

Java RegEx 反斜杠数字

javascript - RFC 2822 和 ISO 8601 日期格式正则表达式

JavaScript 正则表达式不匹配

linux - 如何在 shell 脚本中获取我的公共(public) IP 地址?

linux - bin/bash 嵌套循环不起作用

linux - git中的破折号是什么?比如: -a -b -p