Macで大容量ファイルを開きますか?


14

Macで大量のテキストファイルを開くことを探しています。ファイルは10Gigsをわずかに超えています。質問に実際には関係ないため、どのように作成されたのか、どのように使用されているのかはわかりません。

このような巨大なファイルを開くことを許可するMacプログラム、または個別に開くのが簡単なチャンク(200 MBなど)に分割できるMacプログラムはありますか。

必ずしも編集する必要はなく、一部を表示するだけです。私が試したすべてのもの、Textmate、Vimなどすべてが(理解できるように)がらくたになるか、ロードに永遠にかかります。

WindowsとLinuxも実行していますが、このような大きなファイルを移動するのは簡単ではありません。現在、Macに常駐しているので、移動する手間がかかりません。


類似するsuperuser.com/questions/138474/...が、この質問は、ファイル分割するための代替を受け入れる
ダグ・ハリス

回答:


16

スプリットはそれを行うことができます-

 split -b 200m [file]

ファイルを200MBのチャンクに分割します。-lで行を分割できます

 split -l 1000 [file]

ファイルを1000行のチャンクに分割します。

それがうまくいかない場合は、Mac用の非常に優れた16進エディタ、Hex Fiendがあり、大容量のファイルを開くことができます。

巨大なファイルを扱う。Hex Fiendは、作成可能な最大サイズのファイルを処理できます。118 GBのファイルでテストされています。

お役に立てば幸いです!


Unixなので、動作するはずです。:)
maaartinus

1
Hex Friendは最高です!! 言及してくれてありがとう
lukaswelte 14年

3

次のコマンドラインツールのいずれかを試しましたか?

  • sedまたはawk:ストリームエディタ。ただし、これらは必要な出力を得るために複雑な式を必要とする場合があります
  • split:ファイルを指定されたバイト数、行数などのブロックに分割します。
  • csplit:正規表現で指定されたコンテキストに基づいてファイルを分割します

一つsplitまたはcsplitそれがメモリ使用量を管理する方法に応じて、仕事をするかもしれません。およびの詳細についてはsplitcsplit このページをご覧ください。

これらのツールの詳細については、お気に入りの検索エンジンを試すかman <cmd-name>、ターミナルのコマンドラインで入力してください。

ファイルの分割方法についてより多くのコンテキストを提供できる場合、sed / awkまたは正規表現の専門知識を持っている人が助けになるはずです。


2

HexFiendをチェックアウトすることをお勧めします -また、16進エディターでも、ハードドライブから直接ファイルを読み取り、他のほとんどのテキストエディターのようにメモリにロードしようとしません。16進数部分を非表示にする場合は、[表示]メニューの[16進数]をオフにします。


2

別のオプションは、組み込みコマンドheadおよびtailを使用することです。

最初の1000行を取得するには:

head -1000 hugefile

最後の1000行を取得するには:

tail -1000 hugefile

または、1,000,000から1,001,000の行を取得するには:

head -1001000 hugefile | tail -1000

ただし、これにはかなり時間がかかる場合があります。


私はこのオプションが好きです。一度にいくつかのチャンクだけを取りたい場合。現在は私の目的に合っていませんが、将来的には反抗的に使用します:)ありがとう
クリスサライ

0

私は自分の仕事で巨大なテキストファイルを表示する必要があり、Windowsでしかありませんが、あらゆる選択肢を長年探してきました。

私がこれまでに発見した唯一のテキストエディターは、V-The File Viewerです。

商用ですが、このようなファイルを頻繁に編集する必要がある場合は20ドルで価値があります。
特定のファイルを1つだけ表示する必要がある場合は、完全に機能する試用版があります。

ネットワークを介してWindowsマシンに10 GBを転送するのは、耐えられないほど遅くなるべきではありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.