ディレクトリ内のPDFとEPUBをタイトル付きでリストアップする ebk ls を作った

私は買った電子書籍を1つのディレクトリに保存しているのですが、ファイル名はダウンロードしたときのそのままにしていることが多いので、良く「あの書籍はどのファイルだっけ?」が発生していました。

電子書籍リーダーで管理すればいいとは思うのですが、それを整備することすらしていない有様です。

とりあえず「あの書籍はどのファイルだっけ?」や「あの書籍って買ってたっけ?」をなんとか解消したいと思っていました。

PDFファイルやEPUBファイルの電子書籍のタイトルだけでも一覧表示できれば上記が解消すると思っていたので、重い腰をあげて作りました。

github.com

ebk

上に貼ったツイート以上の情報はないのですが、 ebk ls [DIR] を実行するとディレクトリ内のPDFとEPUBのタイトルとファイル名をデリミタ(デフォルトは :)で区切って出力します。

$ ebk ls ~/path/to/books/ | grep oreilly
NFS & NIS 第2版:oreilly-4-87311-078-5e.pdf
ウェブオペレーション:oreilly-978-4-87311-493-4e.pdf
SQLアンチパターン:oreilly-978-4-87311-589-4e.epub
[...]
Go言語による並行処理:oreilly-978-4-87311-846-8e.epub
入門 監視:oreilly-978-4-87311-864-2e.epub
入門 Prometheus:oreilly-978-4-87311-877-2e.epub
みんなでアジャイル:oreilly-978-4-87311-909-0e.epub
ユニコーン企業のひみつ:oreilly-978-4-87311-946-5e.epub

使い方としては peco などのツールと合わせて使うことを想定していて、macOSだと以下のようなコマンドで、選択した電子書籍電子書籍リーダーで開くことができます。

$ open $(ebk ls /path/to/books/ --with-path -d '\t' | peco | awk -F '\t' '{print $2}')

f:id:k1LoW:20211122072335p:plain

タイトルを取得できなかった場合は ??? で表示されます。

というわけで

個人的にはもう満足していて ebk ls 以外のコマンドは作らなそうですが、また電子書籍メタデータで何かしたくなったら ebk に追加しようと思います。

私は、ebk のおかげで早速間違って二重購入するのを防げました。作った甲斐がありました。もっとちゃんと管理しろというお話ですが。

もし同じように「あの書籍はどのファイルだっけ?」に困っている方がいましたら使ってみてください。