更改 ed 中行的大小写

更改 ed 中行的大小写

我可以tr在 中使用该命令来更改一行或一系列行的大小写ed吗?或者还有别的办法吗?

答案1

通过某些外部实用程序过滤一系列行ed并不容易。您必须以至少三个命令的集合来执行此操作并使用临时文件。

假设我们的外部过滤器被调用utility,并且我们希望通过该过滤器过滤 20 到 30 行。

我们要过滤的行用 来寻址20,30。我们首先将这些行写入过滤器,将输出保存到名为tmp(任意名称)的文件中:

20,30 w !utility >tmp

然后我们可以用结果输出文件中的行替换缓冲区中的行:

20,30 d
20- r tmp

这将首先删除过滤过的行utility,然后在第 20 行之后插入结果数据(20-与 相同19,并且该r命令插入指定文件中的文本所寻址的行)。

ed通过结合使用rlwrap并提出某种可以更轻松执行的 Readline 宏,这可能会变得更简洁,但我不是研究这一点的人。ex如果您想要进行需要使用外部过滤器的文本编辑,并且想要使用行编辑器来执行此操作,则将编辑器更改为类似的内容可能是更现实的方法。

相关内容