Perlスクリプトを書く際に、ファイルの1行にカンマ区切りでユーザー名を書き込む必要があります。Perlから作成されたテキストファイルの行の長さ制限はありますか?
ですから、.txtファイルの行の最大サイズには制限があります。
Perlスクリプトを書く際に、ファイルの1行にカンマ区切りでユーザー名を書き込む必要があります。Perlから作成されたテキストファイルの行の長さ制限はありますか?
ですから、.txtファイルの行の最大サイズには制限があります。
テキストファイルだけで、他のファイルと改行文字のようなものはこれだけ通常のファイルサイズの制限が
(古いファイルシステム上で4GBのサイズ制限、ファイルはディスクなどに収まらなければなりません)適用、任意のパーソナルプラグインの文字のようなものですあなたが一行ずつ読むのでなければ、読んだり書いたりしても何の問題も起こりません。メモリが足りなくなったり、バッファオーバーフローが発生することがあります。これは、OSカーネルと異なり、行区切りの問題では、テキストエディタやテキスト処理プログラム(sedやawkなど)で発生する可能性があります。
私は読書がより自然であり、外部プログラムでファイルを処理するとエラーが発生しにくくなります。
少なくともkwriteとviは行サイズの影響を受けます(4Mb単線XMLファイルでテスト済み) –
確かに限界があります。それはディスクに収まる必要があり、行単位で読むとメモリに収まる必要があります。それに加えて、4Gbを超えるファイルを処理するには、大きなファイルサポートが必要な場合があります。 –
@brian d foy:あなたがここで経験豊富なので、私はあなたの助言に従い、Obviousキャプテンを演じているので、私の投稿では、ディスク上のファイルがそのディスクのサイズを超えてはならないと言っています。一口。 –
ファイルシステムのサイズが2TBかそれ以外のものであることを除いてサイズ制限はありません。
いいえ、ファイルサイズの制限を超えるまで、このような制限はありません。
いくつかの古いUnixシステムでは、いくつかのテキストユーティリティ(結合、並べ替え、古いawkなど)には最大行サイズに制限があります。私はこれがユーティリティの限界だと思いますが、OSはそうではないと思います。 GNUユーティリティは私が知る限りではこのような制限はないので、Linuxにはこの問題はありません。
IRIXとAIXの古いバージョンでこの問題が発生しました。私はホームディレクトリにGNU textutils(coreutilsにマージされていない)をインストールしました。問題を解決しました。 – user172818
ファイルサイズは、お使いのOSのファイルシステムによって異なります。ツールにはそのような制限はありません(またはこれまで見たことがない)
いくつかのツールは、4バイトのintアドレス空間を使用しているため制限があります。 –
唯一気にする必要があるのは、作成できるファイルのサイズとファイルのサイズです読める。
コンピュータは、ファイルのバイトの解釈である行について何も知らない。行の終わりを区切る一連の文字があると判断し、そのシーケンスに当たるまでファイルからファイルを取り出すようにプログラムに指示します。私たちにとって、それは一種の線です。
は、たとえば、あなたがカンマで終了するテキストファイルの行を定義することができます。私たちは慣れているので、私は__DATA__
の下で、単一のラインを持っているように見えるにもかかわらず
$/ = ',';
while(<DATA>)
{
chomp;
print "Line is: $_\n";
}
__DATA__
a,b,c,d,e,f,g
、それだけです本。コンピュータは本を読まない。
Line is: a
Line is: b
Line is: c
Line is: d
Line is: e
Line is: f
Line is: g
は、私はちょうど長いKwrite中1M CHRSについてのラインでこのような問題に出くわした:代わりに、このプログラムは、コンマの間にすべてがラインであると考えています。
理論上の制限はありませんが、ファイルを作成する場合は、幅を表示するように折り返す必要があります。編集ごとに、スワップメモリを含む多くの計算が実行されます。 Tharは編集がぎこちない。長い行はかなり不便かもしれません。
作成するファイルサイズはどれくらいですか? –