web-dev-qa-db-ja.com

コマンドラインからPDFファイルを検索するにはどうすればよいですか?

論文の参照をチェックしており、(参照リスト内の)いくつかの論文が参照されている本文内の位置を検索したい。 bashを介した検索をサポートし、ポジションのコンテキストを抽出するPDFエディターはありますか? PDFをテキストに変換しようとしましたが、良い結果が得られませんでした。

26
David

上記の答えに追加するために、特に、pdftotextと呼ばれるxpdf-utilsのコマンドラインツールを使用し、このツールで作成されたテキストドキュメントをgrepで検索できます。

これは次のようになります。

pdftotext document.pdf - | grep -C5 -n -i "search term"

マニュアルに詳細があります。 pdftotextの唯一の欠点は、複数のファイルを同時に変換することができないことです。この問題は、小さなbashスクリプトで克服できます。

for f in pdf_directory; do echo $f; pdftotext $f - | grep -i "search_term"; done

たとえば、互換性のないpdfファイルが原因で、pdfからテキストドキュメントを作成する際に問題がある場合は、別の問題です。

一般に、pdfエディターはグラフィカルであるため、コマンドラインは含まれていないと思います。 bash(またはzsh!)を使用する場合は、ターミナルシェルを使用する必要があります。

幸運を!

22
Joe

poppler-utils

注:xpdf-utils 移行パッケージです poppler-utilsの場合。

Poppler-utilsを使用できます。 poppler-utilsは、PDF(Portable Document Format)ファイル用のツールスイートです。

それをインストールするには、Ubuntu Software Centerを使用するか、以下をクリックしてください。

Install poppler-utils

pdfgrep

pdfgrepは、ディレクトリツリーでPDFファイル内の文字列またはパターンを再帰的に検索し、一致をカウントするか、一致ごとにコンテキストを出力できます。たとえば、/some directorykeywordを再帰的に検索するには、大文字と小文字を区別しません。

pdfgrep -Ri keyword /some/directory

Pdfgrepは、PDFファイル内のテキストを検索するツールです。これは「grep」と同様に機能します。

特徴:

  • 正規表現を検索します。
  • 以下を含むいくつかの重要なgrepオプションのサポート:+ファイル名出力。 +ページ番号の出力。 +大文字と小文字を区別しないオプション。 +カウント
    発生。
  • そして最も重要な機能:カラー出力!

Install pdfgrep

1ソース: buntu Apps Directory

19
Mitch

Pdfgrepを使用して複数のpdfファイルで正規表現を検索するには:

find /path -iname '*.pdf' -exec pdfgrep -H 'pattern' {} \;

pathはPDFファイルの場所です。

6
ignite