SEDスクリプトの最大行/編集コマンドの数は何ですか?

SEDスクリプトの最大行/編集コマンドの数は何ですか?

私たち全員が知っているように、これはを介して行うことができ、行を処理しsedて編集コマンドに変換してから渡すことができるため、パターン(または行番号)のリストに基づいて変更する必要がある場合に便利です。時にはリストが非常に大きい場合もあります。だから私の質問は次のとおりです。stdin-f
sed

ファイルで使用できる行数/編集コマンドに制限はありますか?sed スクリプト2


1: しかし、すべての実装がそれをサポートするわけではありません。
2: どれスクリプト-e scriptallとオプションを組み合わせて-f script_file取得します。

答え1

GNU sed 4.2.2のソースコードを簡単に見ると、多数のmalloc呼び出しと組み込みサイズ定数がないことがわかります。だから、いいえ、制限はありません - RAM以外

答え2

sedOpenBSD 6.1:RAMは制限です。

問題を引き起こす可能性のある具体的な事項は次のとおりです。

  1. intタグが多すぎます(私が思う順序で)。
  2. 予約されたスペース(サイズ)があまりにも多くのデータでいっぱいですsize_t
  3. 入力行が長すぎます(入力データまたはスクリプトが処理されましたが、処理された行が長さにsize_t達しました)。

スクリプトsed自体はリンクリスト構造にコンパイルされます。

関連情報