我试图找到匹配后的第一个空行并将其替换为我的文本。例如,如果模式是作者:
Authors
-----
author1
author2
author3
...
authorN
-----
Run Code Online (Sandbox Code Playgroud)
我希望 sed 附加一个额外的作者和一个新行:
Authors
-----
author1
author2
author3
...
authorN
authorAdded
-----
Run Code Online (Sandbox Code Playgroud)
这些模式在文件数据库中的长度和位置是可变的。
这可能对你有用(GNU sed):
sed '/^Authors/!b;:a;n;/./ba;inew author' file
Run Code Online (Sandbox Code Playgroud)
像往常一样打印以其他开头的行Authors。然后照常打印非空行,并在第一个空行上插入所需的字符串。注意空行也会被打印