在 GNU ed 中,如何移动到一行而不打印它?如果我想移动到第 123 行,我会输入123
Enter,但这也会打印该行的内容。有没有办法在移动到一行时不打印?
答案1
大多数时候,您要么想要移动到一行并打印它(如果没有给出其他命令,这是默认操作),要么移动到一行并执行一些其他命令。想要移动到一行而不继续执行某些命令有点不寻常......标准中没有“无操作”命令ed
。
GNUed
引入了一个名为 的非标准命令#
,它不执行任何操作。
这意味着您可以使用该命令1;#
移至第一行,然后调用 no-op 命令#
。您不能使用,1#
因为#
不占用任何地址。看起来像n;
(对于某些行号)的地址n
被解释为“首先转到行n
”,因此这4;/foo/
意味着第 4 行之后包含 的第一行foo
。与which 比较的是从第4 行到相对于当前行4,/foo/
匹配的第一行的几行范围。/foo/
摘要: 命令序列123;#
移至第 123 行,然后在 GNU 中不执行任何操作ed
。