SED 脚本中的最大行数/编辑命令数?

SED 脚本中的最大行数/编辑命令数?

众所周知,sed可以stdin通过. 当我们需要根据模式列表(或行号)进行更改时,这会派上用场,因为我们可以处理这些行并将它们转换为编辑命令,然后将其传递给.有时列表很大,所以我的问题是-f
sed

一个文件中可以使用的行数/编辑命令的数量是否有限制?sed 脚本2 ?


1:但并非所有实现都支持...
2:其中脚本是通过组合所有-e script-f script_file选项获得的

答案1

简单浏览一下 GNU sed 4.2.2 的源代码就会发现大量的 malloc 调用,并且没有内置的大小常量。所以,不,没有限制 - 除了你的 RAM

答案2

sed在 OpenBSD 6.1 上:RAM 是限制。

可能造成麻烦的具体事情(如果你坚持这样做的话)是:

  1. int标签数量过多(我认为按 的顺序)。
  2. 用太多数据填充了保留空间(大小为size_t)。
  3. 输入行太长(输入数据或脚本,但处理的行达到size_t长度)。

脚本sed本身被编译成链表结构。

相关内容