我可以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
如果您想要进行需要使用外部过滤器的文本编辑,并且想要使用行编辑器来执行此操作,则将编辑器更改为类似的内容可能是更现实的方法。