ファイルの「テキスト内容」を取得します。

ファイルの「テキスト内容」を取得します。

ファイルのテキスト内容を取得するツールがあるかどうか疑問に思います。基本的に私はpdf、word文書、zip、または他のファイルを入れて、その中に含まれるテキストを取得したいと思います。

一連の印刷可能文字を印刷できますが、strings多くの圧縮形式では機能しません。 「愚かな」特性は、通常、単にテキストを印刷するよりも多くのことを行うことを意味します。ただし、不明なファイル形式には良い選択肢があります。

私が望むものをほぼ正確に実行するコマンドがありますが、pdftotextPDFでのみ動作します。

複数の形式、またはこれらのツールを組み合わせて処理できるツールはありますか?

追加情報

多くの人が自分のツールが標準ではないと言いました。私はこれが良いことを指摘したい。

答え1

stringsと友達を除いて、テキストファイルのデータを解析できるUnixコマンドラインツールを見たことはありません。これらのツールはすべて、データがテキスト形式であると想定しています。grepawk

PDFやWord文書などのファイルはテキストデータをバイナリ形式でエンコードするため、それを解析する他のツールの助けなしにはアクセスできません。これらのツールは通常トリックであり、通常、これらのバイナリファイル形式の1つまたはいくつかのみを処理できます。

このfileコマンドを使用してファイルの種類を識別できます。

はい

$ file /usr/share/cups/data/default.pdf
/usr/share/cups/data/default.pdf: PDF document, version 1.5

man file使い方の詳細については、参考資料をご覧ください。

Lucene、Solar、その他の索引付けツール

インデックスツールに含まれるツールを調整または検索できます。ルツェルン(例えば:PDF&MSOffice文書)、これは人々が通常毎日処理するファイルの少なくともかなりの部分でこのテキストを解析することができます。まず、PDF、Word、Libre Officeのファイル形式と競合すると予想します。

その他のツール

これらのツールは、一部のバイナリを少なくとも部分的に読み取ることができるため、ここに追加してそれに関するアイデアを提供します。すべての内容は含まれていませんが、あなたには役に立ちます。

答え2

そのような変換ツールは存在しませんが(少なくとも標準ではない)、既存のツールを組み合わせた良いプレビュージェネレータまたはツールを見つけることができます(下記参照)。非常に多くの文書形式があり、すべてその形式を使用するアプリケーションによって定義されます(例:PDF、Word文書、ODSスプレッドシート、PowerPointプレゼンテーション、HTML文書[一部の文字列がコンテンツの一部ではない]、JPGテキスト) 。画像、コンパイラ、データベースファイル、圧縮ファイル、gzip圧縮ファイル、bzip圧縮ファイルなどのリストが続きます。存在するすべての文書データ型を読み取り、データをデコードし、実際の内容を抽出できるプログラムを作成することはほとんど不可能です。

検索インデクサー/プレビュー表示ジェネレータが使用する一般的な戦略は、ファイル形式を推測し、関連テキストをクロールするいくつかのフィルタを呼び出してから、そのテキストを処理/プレビューすることです。一般に、これは、作成者が直接小さな共通タイプのフィルタセットを作成するか(形式仕様を理解するための研究を実行する)、一部のタイプの拡張可能なプラグインフレームワークを提供し、それを第三者にフィルタ作成するために使用するアプリケーションによって実行されます。になります。 。 2つの組み合わせが多いです。

たとえば、Nautilusはこれらのアプローチを組み合わせます。一般的な画像形式などの一部の形式では、独自にプレビューを作成できます。他の形式では、アプリケーションの作成者が作成し、gconfのNautilusで指定されたサードパーティのスクリプトを使用します。このスクリプトは、文書を解析し、サムネイルを生成するためのさまざまな文書形式を定義します。これは単にプレビュー生成タスクをこれらのスクリプトに委任し、画像ファイルとして保存し、Nautilusに表示します。

あなたが見つけたすべての検索インデクサーは、同様の原則に従って機能します。

以下を含みますが、これらに限定されず、調査することができる他のオプションがあります。

  • 既存の検索ソフトウェアを使用してください。以下は、Linuxで利用可能なオプションの詳細なリストとレビューです。http://www.tuxradar.com/content/best-linux-desktop-search-tools(ADDがある場合:上位3つはRecoll、Beagle、Google Desktopです。)
  • 独自のフィルタを作成する場合は、すでに作成したフィルタを使用できるフィルタの作成を検討してください。
  • 実際にサポートしたい文書の種類について考え、さまざまなfileフィルタリングツール(例:。pdftotext
  • 制限された非圧縮の生のテキストと使用法を満たしていますstrings

関連情報