『大菩薩峠/百』完全版
『大菩薩峠』を100分の1の長さに圧縮した。
「甲源一刀流の巻」で試したやり方を全41巻に適用した。
結果のフルバージョンはこちら。
- 大菩薩峠/百
今回は HTML 版のみ。EPUB 版は保留した(よくわからないので)。
以下は作業メモ。
テキストの抽出に使った Awk スクリプト3本。
そのうちの abst1。巻ごとに各行の文字数と総文字数を記録。
abst2。上のスクリプトの出力を文字数でソートしたものを受け取って、抽出すべき行番号をピックアップ。
abst3。ピックアップリストに記録されている行の文章を出力。
abst3 の出力に「==」の文字や2つ続きの改行が含まれているのは、ReVIEW での処理を想定しているため。
また、「NR == 2」でソーステキストの2行目にある巻名を取り出している。
抽出のコマンド。01.txt は原文テキスト(第一巻)。
抽出されたテキストの中には、途中で途切れているものがあった。
確かめてないが、Awk 処理系(Gawk)の文字数制限に引っかかったか。これについては手作業で修正した。
実際の作業では、01.re、02.re などに分けず、daibosatsu100.re として1ファイルにまとめた。
daibosatsu100.re を daibosatsu100.html に変換するコマンド。
「甲源一刀流の巻」で試したやり方を全41巻に適用した。
結果のフルバージョンはこちら。
- 大菩薩峠/百
今回は HTML 版のみ。EPUB 版は保留した(よくわからないので)。
以下は作業メモ。
テキストの抽出に使った Awk スクリプト3本。
そのうちの abst1。巻ごとに各行の文字数と総文字数を記録。
{ print NR, length($0); total += length($0) }
END { print "total", total }
END { print "total", total }
abst2。上のスクリプトの出力を文字数でソートしたものを受け取って、抽出すべき行番号をピックアップ。
NR == 1 { limit = int($2/100); next }
{ print $1; total += $2; if (total > limit) exit }
{ print $1; total += $2; if (total > limit) exit }
abst3。ピックアップリストに記録されている行の文章を出力。
BEGIN { while (getline <"list" > 0) list[$0] }
NR == 2 { printf "== %s\n\n", $0 }
NR in list { printf "%s\n\n", $0 }
NR == 2 { printf "== %s\n\n", $0 }
NR in list { printf "%s\n\n", $0 }
abst3 の出力に「==」の文字や2つ続きの改行が含まれているのは、ReVIEW での処理を想定しているため。
また、「NR == 2」でソーステキストの2行目にある巻名を取り出している。
抽出のコマンド。01.txt は原文テキスト(第一巻)。
$ awk -f abst1 01.txt | sort -k2nr | awk -f abst2 > list
$ awk -f abst3 01.txt > 01.re
$ awk -f abst3 01.txt > 01.re
抽出されたテキストの中には、途中で途切れているものがあった。
確かめてないが、Awk 処理系(Gawk)の文字数制限に引っかかったか。これについては手作業で修正した。
実際の作業では、01.re、02.re などに分けず、daibosatsu100.re として1ファイルにまとめた。
daibosatsu100.re を daibosatsu100.html に変換するコマンド。
$ review-compile --target=html --level=0 --stylesheet=100.css daibosatsu100.re > daibosatsu100.html