Text-Processing

在 Mac OS 上的匹配前後插入一個空行

  • September 27, 2020

我的文件包含字元串:

∗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

注意:我有 sed 的 BSD 版本,所以我不能使用\n

你快到了。只需要在插入的文本中添加轉義的換行符。

/^\*[ \t]/i\
\
\* ATTENTION \*\

然而,這樣做的慣用方式是:

/^[*][[:blank:]]/!b
H;s/.*//;x
s/./&** ACHTUNG **&&/

引用自:https://unix.stackexchange.com/questions/611703