macOSで一致の前後に空白行を挿入する

macOSで一致の前後に空白行を挿入する

私のファイルには次の文字列が含まれています。

∗Cast and characters
* Bob Denver is Gilligan

1つ以上のスペースで始まるすべての行にその行を挿入したいと思います* ATTENTION **前には空行があり、その後には空白行が挿入されます。
私は持っています:

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

それは私に与えた

∗Cast and characters
* ATTENTION *
* Bob Denver is Gilligan 

しかし、私は欲しい:

∗Cast and characters 

∗ ATTENTION ∗

∗ Bob Denver is Gilligan

注:私はsedのBSDバージョンを持っているので使用できません。\n

答え1

ほぼすべて来ました。挿入されたテキストにエスケープされた改行を追加するだけです。

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

しかし、一般的なアプローチは次のとおりです。

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

関連情報