concat.zsh
# !/usr/bin/zsh
for i (**/*.pdf) pdftotext -layout -nopgbrk "${i}" - >> OUT.txt
-
for i (**/*.pdf)
はこのディレクトリ以下のすべてのpdfファイルを列挙して変数$i
に格納する。 -
pdftotext
はPDFファイルのテキストを抽出してファイルまたはSTDOUTに出力するコマンド。お使いのパッケージマネージャーでpopplerとかpoppler-utilをインストールしてください。 -
-layout -nopgbrk
はpdftotext
のオプションで、レイアウトを読みやすくするためのインデントとページ改行削除の設定 -
${i}
にはすべてのpdfファイル名が相対パスで入る。ダブルクオーテーションと{}
を入れないとスペースをコマンド区切りのスペースと認識してしまう -
-
はpdftotext
の結果を標準出力へ吐き出す。
pdftotextの標準的な使い方は、第二引数に出力ファイル名を指定する。
-
>> OUT.txt
でtxtファイルへ標準出力を追記していく。 - zsh専用
bash用はbashで仕事したいあなたがこの記事を編集してくれる