https://www.gnu.org/software/sed/manual/sed.html#advanced-sed
公式ドキュメントだとこの辺だけどこれ読みこなすのはけっこうキツいと思う

>>105の /^$/d;G はこんな感じ
0. 初期状態ではパターンスペースとホールドスペースは空
1. 入力の一行(改行文字の前まで)をパターンスペースに読み込む
2. /^$/d で、パターンスペースが空行だったら削除し1へ
3. G で、パターンスペースの末尾に改行とホールドスペースの中身(空)を追加
4. パタンースペースの中身と改行文字を出力し1へ