私たち全員が知っているように、これはを介して行うことができ、行を処理しsed
て編集コマンドに変換してから渡すことができるため、パターン(または行番号)のリストに基づいて変更する必要がある場合に便利です。時にはリストが非常に大きい場合もあります。だから私の質問は次のとおりです。stdin
-f
sed
ファイルで使用できる行数/編集コマンドに制限はありますか?sed
スクリプト2?
1: しかし、すべての実装がそれをサポートするわけではありません。
2: どれスクリプト-e script
allとオプションを組み合わせて-f script_file
取得します。
答え1
GNU sed 4.2.2のソースコードを簡単に見ると、多数のmalloc呼び出しと組み込みサイズ定数がないことがわかります。だから、いいえ、制限はありません - RAM以外。
答え2
sed
OpenBSD 6.1:RAMは制限です。
問題を引き起こす可能性のある具体的な事項は次のとおりです。
int
タグが多すぎます(私が思う順序で)。- 予約されたスペース(サイズ)があまりにも多くのデータでいっぱいです
size_t
。 - 入力行が長すぎます(入力データまたはスクリプトが処理されましたが、処理された行が長さに
size_t
達しました)。
スクリプトsed
自体はリンクリスト構造にコンパイルされます。