web-dev-qa-db-ja.com

大きな(巨大な、巨大な、大きな)テキストファイルを開くためのテキストエディタ

100 MB以上という意味です。そのようなテキストファイルは、編集者の限界を超える可能性があります。

大きなXMLファイルを調べる必要がありますが、エディタにバグがある場合はできません。

助言がありますか?

1023
Yuvi

VSコード(Windows、macOS、Linux) - 無料のオープンソースで、GUIもいい。 1分でロードされる3.6 GBのJSONファイルを編集しました。ファイルをロードするのに十分なRAMが必要です。

無料の閲覧専用視聴者:

  • glogg (Windows、macOS、Linux) - 複数GBのファイルを処理することを確認しました。その主な機能は正規表現検索です。タブを持ち、ディスクから直接ファイルを読み込み、ファイルを監視/追跡し、ユーザーが行にマークを付けることができます。
  • LogExpert (Windows) - "tailに代わるGUIです。"ファイルフォロー、検索、フィルタリング、設定可能な強調表示、プラグイン、外部ツールをサポートします。
  • ラージテキストファイルビューア (Windows) - ミニマリストで、実行可能ファイルサイズが非常に小さい。分割表示、テキストテーマのカスタマイズ、正規表現検索、ファイルフォローをサポートします。
  • Lister (Windows) - さらに小さくてシンプル。これは1つの実行ファイルで、わずか500 KBですが、検索(正規表現あり)、印刷、16進エディタモード、設定をサポートしています。

無料の編集者:

  • Vim および Emacs (Windows、macOS、Linux) - クラシックUnixエディター。急激な学習曲線ですが、残酷に効率的です。彼らはそれらをさらに速くするために調整することができる設定を持っています。
  • ラージファイルエディタ (Windows) - TB +ファイルを開いて編集し、Unicodeをサポートし、メモリをほとんど使用せず、XML固有の機能を備え、バイナリモードを含みます。
  • HxD (Windows) - テキストエディタではなく16進エディタ。それは驚くほど速くて便利です。
  • GigaEdit (Windows) - 検索、文字統計、フォントのカスタマイズをサポートします。しかし、それはバグがあります - 大きなファイルでは、文字を上書きすることだけが許され、それらを挿入することはできません。それはLFをラインターミネータとして尊重せず、CRLFだけを尊重します。そしてそれは遅いです。

組み込みプログラム(インストール不要)

  • less (macOS、Linux) - 伝統的なUnixのコマンドラインページャツール。実質的に任意のサイズのテキストファイルを表示できます。 Windowsにもインストールできます。
  • メモ帳 (Windows) - 大きなファイル、特にWordの折り返しが無効な場合に適しています。
  • _ more _ (Windows) - これは、UNIXのMOREではなく、Windowsのmoreを指します。ファイルを一度に1画面ずつ表示できるコンソールプログラム。

Webビューア:

  • htmlpen.com - TB +ファイルを開いて構文を強調表示できます。非常に大きいファイルを除いて、編集を許可します。検索、正規表現、およびエクスポートをサポートします。
  • readfileonline.com - 別のHTML 5ラージファイルビューア。検索をサポートします。

有料エディタ

  • 010エディタ (Windows、macOS、Linux) - 巨大な(最大50 GB)ファイルを開きます。
  • SlickEdit (Windows、macOS、Linux) - 大きなファイルを開きます。
  • UltraEdit (Windows、macOS、Linux) - 6 GBを超えるファイルを開きますが、実用的にするには設定を変更する必要があります。メニュー»詳細設定»設定»ファイル処理»一時ファイル»一時ファイルなしでファイルを開く...
  • EmEditor (Windows) - 非常に大きなテキストファイルを適切に処理します(正式には最大248 GBですが、1レポートによると最大900 GB)。

そして最後に、通常のエディタで大きなファイルを開いてみましたか?実際にはかなり大きいファイルを処理できるエディタもあります。特に、 Notepad ++ (Windows)および Sublime Text (Windows、macOS、Linux)は、2 GBの範囲のファイルをサポートします。

1256
Nick Ryberg

ヒントとコツ

もっと少なく

(大きな)ファイルでエディタルックだけに使用するのはなぜですか?

* nixまたは Cygwin の下では、 less を使用してください。 ( "lessは多かれ少なかれ"という有名な言葉があります - "less"は以前のUnixコマンド "more"に取って代わるもので、さらにスクロールアップすることもできます) Vimですが、スワップファイルはなく、RAMはほとんど使用されていません。

Win32ポートのGNU lessがあります。上記の答えの「少ない」セクションを参照してください。

Perl

Perlは素早いスクリプトに適しており、その..(range flip-flop)演算子は、あなたが通り抜けなければならない根拠を制限するためにNice選択メカニズムを作ります。

例えば:

$ Perl -n -e 'print if ( 1000000 .. 2000000)' humongo.txt | less

これにより、100万行から200万行まですべてが抽出され、手動で出力を手動で少なくすることができます。

もう一つの例:

$ Perl -n -e 'print if ( /regex one/ .. /regex two/)' humongo.txt | less

これは、「正規表現1」が何かを見つけたときに印刷を開始し、「正規表現2」が興味深いブロックの終わりを見つけたときに停止します。複数のブロックが見つかる可能性があります。出力をシフトする...

ログパーサー

これはあなたが使うことができるもう一つの便利なツールです。引用するには ウィキペディアの記事

logparser は、IIS loggingのテストを自動化するためにMicrosoftの従業員であるGabriele Giuseppiniによって最初に作成された柔軟なコマンドラインユーティリティです。これはWindowsオペレーティングシステムでの使用を意図しており、IIS 6.0 Resource Kit Toolsに含まれていました。 logparserのデフォルトの振る舞いは、コマンド行でSQL式を取り、そのSQL式に一致するものを含む行を出力することによって、「データ処理パイプライン」のように機能します。

MicrosoftはLogparserを、ログファイル、XMLファイル、CSVファイルなどのテキストベースのデータ、およびイベントログ、レジストリなどのWindowsオペレーティングシステム上の主要なデータソースへの汎用クエリアクセスを提供する強力で多用途のツールとして説明しています。ファイルシステムとActive Directory入力クエリの結果は、テキストベースの出力でカスタムフォーマットすることも、SQL、SYSLOG、またはチャートなどの特殊なターゲットに永続化することもできます。

使用例

C:\>logparser.exe -i:textline -o:tsv "select Index, Text from 'c:\path\to\file.log' where line > 1000 and line < 2000"
C:\>logparser.exe -i:textline -o:tsv "select Index, Text from 'c:\path\to\file.log' where line like '%pattern%'"

サイズの相対性

100 MBはそれほど大きくありません。 3 GBが大きくなっています。私はかつて米国の第一種郵便の約2%を作成していた印刷および郵便施設で働いていました。私がハイテクリーダーだったシステムの1つが、メールの15%を占めていました。あちこちでデバッグするためにいくつかの大きなファイルがありました。

もっと...

ここにもっとツールや情報を追加してください。この答えはコミュニティウィキです。大量のデータを扱う上で、私たち全員にもっと多くのアドバイスが必要です。

178
Roboprog