繁体   English   中英

如何添加带分隔符的多行行首?

[英]how to add begin of line with multilines with delimiter?

我有一个这样的文件:

输入:

---
a
b
c
d
---
a
b
c
d
---
a
b
c
d

我想在由 --- 分隔的每个块中添加相同的结构,例如:

Output:

---
1: a
2: b
3: c
4: d
---
1: a
2: b
3: c
4: d
---
1: a
2: b
3: c
4: d

我尝试像这样使用 sed:

sed -i '1s/a: /\1/' 

依此类推,但它不断添加到第一行。

最好的祝福。

一个awk想法:

awk '{ pfx=++count ": "        # set default prefix as incremented counter + ": "
       if ($0 ~ /^---/)        # if lines starts with "---" then ...
           pfx=count=""        # reset variables
       print pfx $0            # print prefix plus current line
     }' x

或作为单线(无评论):

awk '{ pfx=++count ": "; if ($0 ~ /^---/) pfx=count=""; print pfx $0 }' x

这会产生:

---
1: a
2: b
3: c
4: d
---
1: a
2: b
3: c
4: d
---
1: a
2: b
3: c
4: d

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM