我正在尝试在匹配后找到第一个空行并将其替换为我的文本。例如,如果模式是作者:
Authors
-----
author1
author2
author3
...
authorN
-----
我希望sed附加一个额外的作者和一个新行:
Authors
-----
author1
author2
author3
...
authorN
authorAdded
-----
这些模式在文件数据库中是可变长度和位置。
答案 0 :(得分:2)
这可能适合你(GNU sed):
sed '/^Authors/!b;:a;n;/./ba;inew author' file
像往常一样打印其他以Authors
开头的行。然后像往常一样打印非空行,并在第一个空行插入所需的字符串。注:空行也将被打印
答案 1 :(得分:0)
我认为awk
是您最好的选择:
$ cat test.txt
Count
-----
1
2
3
4
5
-----
$ awk '{ if ($1=="") { print last+1; last=last+1; print ""; } else { print; last=$1 } }' test.txt
Count
-----
1
2
3
4
5
6
-----