$ sed -e 's/|\([^《]*\)《\([^》]*\)》/<<\1|\2>>/g' -e 's/\([^あ-んア-ン《]*\)《\([^》]*\)》/<<\1|\2>>/g' -e 's/[#[^]]*]//g'
これである程度は出来るけど、句読点とかを巻き込む
$ sed -e 's/|\([^《]*\)《\([^》]*\)》/<<\1|\2>>/g' -e 's/\([^あ-んア-ン《]*\)《\([^》]*\)》/<<\1|\2>>/g' -e 's/[#[^]]*]//g'
これである程度は出来るけど、句読点とかを巻き込む
ルビが難読部分にだけ振られてるようなやつはボイロ向けのルビに置換しても良いかもしれないけど、ルビ開始の記号(|)が無いと、どこに対するルビなのか探すのが大変そう……
[^《]*みたいなのは最短一致のため
sedで最短一致をする - Qiita
https://qiita.com/d-ebi/items/c26de9f0c464e5d456c6
メモ
ボイロに読み上げて貰うために青空文庫テキストからルビと注釈を削除するやつ
$ sed -e 's/|\([^《]*\)《[^》]*》/\1/g' -e 's/《[^》]*》//g' -e 's/[#[^]]*]//g'
xorg - Upside down mouse cursor and inverted position on Ubuntu 18.04 - Ask Ubuntu
https://askubuntu.com/questions/1061403/upside-down-mouse-cursor-and-inverted-position-on-ubuntu-18-04
今悩まされてるやつこれだ
DevTermの冷却ファン機能、pythonで温度監視して制御してるっぽいんだけど、gpio-fanドライバ使ってカーネル側で制御した方が良い気がする