6.6. Known limitations among sed versions
Limits on distributed versions, although source code for most
versions of free sed allows for modification and recompilation. As
used below, "no limit" means there is no "fixed" limit. Limits are
actually determined by one's hardware, memory, operating system,
and which C library is used to compile sed.
6.6.1. Maximum line length
GNU sed: no limit
ssed: no limit
sedmod v1.0: 4096 bytes
HHsed v1.5: 4000 bytes
sed v1.6: [pending]
6.6.2. Maximum size for all buffers (pattern space + hold space)
GNU sed: no limit
ssed: no limit
sedmod v1.0: 4096 bytes
HHsed v1.5: 4000 bytes
sed v1.6: [pending]
6.6.3. Maximum number of files that can be read with read command
GNU sed v3+: no limit
ssed: no limit
GNU sed v2.05: total no. of r and w commands may not exceed 32
sedmod v1.0: total no. of r and w commands may not exceed 20
sed v1.6: [pending]
6.6.4. Maximum number of files that can be written with 'w' command
GNU sed v3+: no limit (but typical Unix is 253)
ssed: no limit (but typical Unix is 253)
GNU sed v2.05: total no. of r and w commands may not exceed 32
sedmod v1.0: 10
HHsed v1.5: 10
sed v1.6: [pending]
6.6.5. Limits on length of label names
GNU sed: no limit
ssed: no limit
HHsed v1.5: no limit
sed v1.6: [pending]
BSD sed: 8 characters
Note that GNU sed and ssed both consider a semicolon to terminate a
label name.
6.6.6. Limits on length of write-file names
GNU sed: no limit
ssed: no limit
HHsed v1.5: no limit
sed v1.6: [pending]
BSD sed: 40 characters
6.6.7. Limits on branch/jump commands
GNU sed: no limit
ssed: no limit
HHsed v1.5: 50
sed v1.6: [pending]
As a practical consequence, this means that HHsed will not read
more than 50 lines into the pattern space via an N command, even if
the pattern space is only a few hundred bytes in size. HHsed exits
with an error message, "infinite branch loop at line {nn}".