Macで大量のテキストファイルを開きたいと思っています。ファイルは10ギガ強です。質問とはあまり関係がないので、どのように作成されたのか、どのように使用されているのかについては説明しません。
このような巨大なファイルを開くことができるMacプログラムはありますか、それとも個別に開くのが簡単なチャンク(たとえば、それぞれ200MBなど)に分割することができますか?.
必ずしも編集する必要はなく、一部を表示するだけです。私が試したすべてのもの、Textmate、Vimなどはすべて(当然のことながら)がらくたになるか、ロードするのに永遠にかかります。
私もWindowsとLinuxを実行していますが、このような大きなファイルを移動するのは簡単ではありません。それは現在私のMacにあり、私はそれを動かす手間をかけたくない。
分割はそれを行うことができます-
split -b 200m [file]
ファイルを200MBのチャンクに分割します。 -lを使用して行を分割できます
split -l 1000 [file]
ファイルを1000行のチャンクに分割します。
それがうまくいかない場合は、Mac用の本当に優れた16進エディタがあります Hex Fiend これは大量のファイルを開くことができます:
巨大なファイルを処理します。 Hex Fiendは、作成できる最大のファイルを処理できます。 118GBものファイルでテストされています。
お役に立てば幸いです。
次のコマンドラインツールのいずれかを試しましたか。
sed
またはawk
:ストリームエディタですが、目的の出力を取得するために複雑な式が必要になる場合がありますsplit
:ファイルを指定されたバイト数や行数などのブロックに分割します。csplit
:正規表現で指定されたコンテキストに基づいてファイルを分割しますsplit
またはcsplit
のいずれかが、メモリ使用量の管理方法に応じて機能する場合があります。このページで split
およびcsplit
の詳細 を確認してください。
これらのツールの詳細については、お気に入りの検索エンジンを試すか、ターミナルのコマンドラインでman <cmd-name>
と入力してください。
ファイルをどのように分割するかについてより多くのコンテキストを提供できれば、sed/awkまたは正規表現の専門知識を持っている人が役立つと確信しています。
HexFiend -をチェックすることをお勧めしますが、16進エディターもハードドライブから直接ファイルを読み取り、他のほとんどのテキストエディターのようにメモリにロードしようとはしません。 16進数部分を非表示にする場合は、[表示]メニューの[16進数]のチェックを外します。
もう1つのオプションは、組み込みコマンドheadおよびtailを使用することです。
最初の1000行を取得するには:
head -1000 hugefile
最後の1000行を取得するには:
tail -1000 hugefile
または、1,000,000から1,001,000までの行を取得するには:
head -1001000 hugefile | tail -1000
ただし、これにはかなりの時間がかかる場合があります。
私は自分の仕事で巨大なテキストファイルを表示する必要があり、Windowsだけですが、すべての選択肢を何年も探していました。
巨大なファイルで本当に効率的に機能することができると私が今までに見つけた唯一のテキストエディタは V-ファイルビューア です。
商用ですが、そのようなファイルを頻繁に編集する必要がある場合は、20ドルでそれだけの価値があります。
特定のファイルを1つだけ表示する必要がある場合は、完全に機能する試用版があります。
ネットワークを介してWindowsマシンに10GBを転送するのは、耐えられないほど遅くなることはありません。