このページの内容

8 GNU sed の制限がある点とない点

移植性のあるsedスクリプトを書きたい場合は、実装によっては行の長さ(パターンスペースとホールドスペース)が4000バイト以下に制限されていることがある点に注意してください。POSIX規格は、準拠するsed実装が少なくとも8192バイトの行を扱えることを要求しています。GNU sedには、行の長さに組み込みの上限はありません。より多くの(仮想)メモリーをmalloc()で確保できるかぎり、好きな長さの行を入力したり作ったりできます。

ただし、部分パターンと回数を定めない繰り返しの処理には再帰を使います。そのため、パターンによっては、利用できるスタック領域が処理可能なバッファーの大きさを制限することがあります。