カクヨムの傍点記法を、小説家になろう向けの中黒ルビに変換するシェルスクリプト
とりいそぎコードのみ。
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
変数がきちゃない。
あと変数名をちゃんと{}
でくくらないとバグってびびった。
Author And Source
この問題について(カクヨムの傍点記法を、小説家になろう向けの中黒ルビに変換するシェルスクリプト), 我々は、より多くの情報をここで見つけました https://qiita.com/catfist/items/dd93c1225912c476e126著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .