とりいそぎコードのみ。
kaku2narou.sh
for textfile in$(grep-lE'《《[^》]+》》'*);do#該当記述を含むファイルを検出for hit in$(grep-Eo《《[^》]+》》 "${textfile}");do#ファイルごとに該当記述を検出phrase=$(echo-n"${hit}" | sed-e's/^《《//'-e's/》》$//')#傍点部付きの文字列を検出cn=$(echo-n"${phrase}" | wc-cm | grep-Eo'\d+')#文字列の文字数をカウントdots=$(printf'%*s'"$cn" | sed-e's/ /・/g')#中黒を並べる
gsed -i-e"s/${hit}/|${phrase}《${dots}》/""${textfile}"#置換するdone
done
上記のコードの場合、《《ぼうてんぶ》》
を|ぼうてんぶ《・・・・・》
のような形に変換する。
ただし、小説家になろうでは10文字を超える連続ルビが使用できない。
そこで、原稿のメンテナンス性を無視して、|ぼ《・》|う《・》|て《・》|ん《・》|ぶ《・》
のような形に変換するコードが以下。
kaku2narou.sh
for textfile in$(grep-lE'《《[^》]+》》'*);do
for hit in$(grep-Eo《《[^》]+》》 "${textfile}");do
phrase=$(echo-n"${hit}" | sed-e's/^《《//'-e's/》》$//')nphrase=$(echo-n"${phrase}" | gsed -E-e's/(.)/|\1《・》/g')
gsed -i-e"s/${hit}/${nphrase}/""${textfile}"done
done
変数がきちゃない。
あと変数名をちゃんと{}
でくくらないとバグってびびった。