#!/usr/bin/sed -f
/^|.*|/ {; # 行頭 | のあと1個以上の | がある行なら
s,|$,,; # まず行末の | を消しておく
s,|\([^|]*\),
\1 | ,g; # |... を ... | に置換する
s,^,,; s,$,
,; # 行頭に を、行末に
を付加
H; # 置き換え結果をホールドスペースに追加
s/.*//; # パターンスペースは出力されないよう消しておく
# ↓最終行なら残ったホールドスペース処理のため :cont へ
$ b cont
d; # 最終行以外なら次のサイクルへ
}
:cont
x; # 行頭| 以外の行: まずホールドスペースと交換
/./ {; # ホールドスペースに文字列があれば
s|^||; # 先頭に を追加
p; # 全体を出力する
s/.*//; # 出力し終わったら消しておく
}
x