はじめ
Terminalで「man $name」 を見る時には、zshスクリプトを用いて、pdf形式に変換して、閲覧と保存しています。なお、そのスクリプトの要点は次の2行です;
- man -t ${name} | pstopdf -i -o ${name}.pdf
- open $name.pdf
- Previewでコメントを付けて保存すれば、見返すのが効率的になる。
- 過去に閲覧したマニュアルが一瞥できる。
しかし、これらのpdfを検索をするのに、「grep」や「mdfind」は不適切でした。インターネットで調べると、「pdfgrep」が良いらしいです。そこで「brew info pdf 」をすると「pdfgrep」がありました。
% brew search pdf
cups-pdf pdf-redact-tools pdf2svg pdftohtml
diff-pdf pdf-tools pdfcrack qpdf
djvu2pdf pdf2htmlex pdfgrep svg2pdf
mupdf-tools pdf2json pdflib-lite
以下略...
具体例
図1
Figure 1. pdfgrep on zshall.pdf. |
図1では、検索のターゲット・ファイルとして 「zshall.pdf」としています。4つのケースを示しています;
- pdfgrep -inH ' f ' zshall.pdf
- ノイズが多い。
- pdfgrep -inH ' f ' zshall.pdf
- ノイズ消失!
- pdfgrep -inH ' = ' zshall.pdf
- pdfgrep -inH ' @ ' zshall.pdf
- ファイル(magenta):ページ番号:(green)が全ての行に明示されていて、
- 検索語(red)も視認性がいい、
- 検索結果行(white)も常に1行に収まっている。
図2
Figure 2. search printf for *.pdf |
- コマンド: pdfgrep -inH printf *.pdf
- 検索対象をzshに限定しなくても良いのか。
- 一部にエラーが出ているが、検索内容には問題はない;
- poppler/error: Illegal URI-type link
- ZshWiki_array.pdf: browser Firefox:: html -> pdf.
- エラー出力は別ファイルに纏めた方がよいだろう。
- (zshall.pdf: 7) = (zshbuiltin.pdf: 2)+(zshcontrib.pdf: 5)
これから
冒頭で紹介したスクリプト(man2pdf)はマニュアルの管理もする。これにpdfgrepを組み込みたい。
____
この記事の履歴
- 開始 2015-07-13(月) 00:44:41