我的文件包含字符串:
∗Cast and characters
* Bob Denver is Gilligan
我想将该行插入到以一个或多个空格开头的* ATTENTION *
任何行中。*
它前面将有一个空行,后面会在其上方插入一个空行。
我有:
/^\*[ \t]/i\
\* ATTENTION \*
它给了我
∗Cast and characters
* ATTENTION *
* Bob Denver is Gilligan
但我想要 :
∗Cast and characters
∗ ATTENTION ∗
∗ Bob Denver is Gilligan
注意:我有 BSD 版本的 sed,所以我无法使用\n
答案1
你就快到了。只需要在插入的文本中添加转义换行符即可。
/^\*[ \t]/i\
\
\* ATTENTION \*\
然而,惯用的做法是:
/^[*][[:blank:]]/!b
H;s/.*//;x
s/./&** ACHTUNG **&&/