Skip to content

青空文庫コンバーターです。青空文庫形式のテキストから、ルビや制御コードを取り除き、純粋な本文を出力してくれます。音声読み上げツールである、ずんだスクリプトと合わせてお使い下さい。

License

Notifications You must be signed in to change notification settings

tanep3/aozora_conv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

aozora_conv

概要

aozora_conv は、青空文庫形式の書籍を入力として受け取り、不要な制御文字やルビを削除するシェルスクリプト (bashスクリプト) です。このツールは、後続に文字読み起こしソフト(ずんだスクリプト Zunda Script)での利用を目的として設計されています。

特徴

  • 青空文庫形式のテキストファイルを効率的に処理
  • 不要な制御記号やルビ(《》)の削除
  • 読書スピードと分割時間に基づいてテキストを自動的に分割
  • 出力ファイルのナンバリングによる管理の容易化
  • 標準入力および複数の入力ファイルに対応

必要条件

  • POSIX互換のシェル環境(例:Linux, macOS)
  • 以下の外部ツールがインストールされていること:
    • bash
    • nkf
    • sed
    • grep
    • gawk
    • mktemp
    • tr
    • head
    • sort
    • uniq
    • wc

インストール方法

リポジトリをクローンします:

git clone https://github.com/tanep3/aozora_conv.git

スクリプトに実行権限を付与します:

chmod +x aozora_conv/aozora_conv

そして、スクリプトを /usr/local/bin に移動します:

sudo mv aozora_conv/aozora_conv /usr/local/bin

必要な外部ツールがインストールされていることを確認します。インストールされていない場合は、以下のコマンドを使用してインストールしてください(例はUbuntuの場合):

sudo apt-get update
sudo apt-get install nkf sed grep gawk coreutils

使い方

aozora_conv スクリプトは、コマンドラインから実行します。以下に主なオプションと使用例を示します。

オプション

  • -h, --help: ヘルプメッセージを表示して終了します。
  • -s, --speed NUM: 読書スピードを指定します(1分間にNUM文字)。デフォルトは300。
  • -t, --time MINUTES: 分割時間を指定します(分単位)。デフォルトは20分。
  • -i, --input FILE: 入力ファイルを指定します。複数指定可能です。
  • -o, --output FILE: 出力ファイルのベース名を指定します。分割が行われる場合、ナンバリングが付与されます(例:text_001.txt, text_002.txt)。分割が行われない場合は指定されたファイル名で出力します。

使用例

  • 出力ファイルを20分ごとに分割する場合(デフォルト速度300字/分):
aozora_conv -t 20 -i wagahaiwa_nekodearu.txt -o text.txt
  • 読書スピードを400字/分、出力ファイルを15分ごとに分割する場合:
aozora_conv -s 400 -t 15 -i wagahaiwa_nekodearu.txt -o text.txt
  • 出力ファイルを指定せず、標準出力に出力する場合:
aozora_conv -i wagahaiwa_nekodearu.txt > output.txt
  • 標準入力を使用して処理する場合:
echo "今日《こんにち》は世界《せかい》。" | aozora_conv > sysout.txt

注意点

  • -t オプションを使用する場合は、必ず -o オプションを指定してください。指定しない場合、エラーが発生します。
  • -o オプションを指定しない場合、スクリプトは標準出力に1本のファイルを出力します。分割オプション(-t)は使用できません。
  • 入力ファイルが存在しない場合、エラーメッセージが表示され処理が中断されます。
  • 処理中のメッセージや統計情報はすべて標準エラー出力に表示されます。これにより、パイプを使用した際に不要な情報が後続のコマンドに流れるのを防ぎます。

出力情報

処理完了後、以下の情報が標準エラー出力に表示されます:

  • 文字コードの検出結果
  • 総文字数
  • 推定読書時間
  • 処理完了メッセージ

ライセンス

このプロジェクトはMITライセンスの下で公開されています。詳細については、LICENSE ファイルを参照してください。

著者

たねちゃんねる

About

青空文庫コンバーターです。青空文庫形式のテキストから、ルビや制御コードを取り除き、純粋な本文を出力してくれます。音声読み上げツールである、ずんだスクリプトと合わせてお使い下さい。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages