在 ed(编辑器)的行中间插入换行符

Inserting a newline in the middle of a line in ed (editor)

假设我在 ed 中打开了一个文本文件,当前行如下所示:

This is sentence one. Here starts another one.

现在我想在 one. 之后换行,让Here starts开头的新句占下一行

我如何在 ed 中执行此操作?

您使用 s 命令进行替换。格式为:

s/pattern/replacement/

要在替换中包含换行符,请使用反斜杠将其转义,然后按 return 键:

s/one. /one.\
/

在字面上按 return,而不是包含 \r\n

在 ed 处使用以下命令:

s/\. /\.\
/

注意有两行。

使用1,$p你会看到预期的结果。

你可以做到

t.
s/text_before/
-s/text_after/

解释:

  1. t. 复制该行,以便得到 2 个连续的相同行,都包含原始文本。
  2. 将第 2 行更改为在添加的换行符后仅包含您​​想要的文本。
  3. 对第 1 行,换行前的文本执行相同的操作。

注意:“-”前缀意味着,对(当前地址的)前一行执行此操作。