我是否可以使用tr命令在使用ed时更改行或行范围的情况?还是有别的办法?
发布于 2022-04-02 08:09:16
通过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的内容可能是一种更现实的方法。
https://unix.stackexchange.com/questions/663462
复制相似问题