複数の空行を空でない特定の行に置き換える方法は?

複数の空行を空でない特定の行に置き換える方法は?

サンプル入力は

1
2
3


4
5



6
7
8



9

予想される出力は次のとおりです。

1
2
3
---
4
5
---
6
7
8
---
9

ベストアンサー1

一方通行:

cat -s file | sed 's/^$/---/'

猫のマニュアルページから:

   -s, --squeeze-blank
          never more than one single blank line

cat空行を絞った後、sedスペースを次のように置き換えます。---

おすすめ記事