Quantcast
Channel: Bashタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 2722

カクヨムの傍点記法を、小説家になろう向けの中黒ルビに変換するシェルスクリプト

$
0
0

とりいそぎコードのみ。

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

変数がきちゃない。
あと変数名をちゃんと{}でくくらないとバグってびびった。


Viewing all articles
Browse latest Browse all 2722

Trending Articles