如何逃避教育署的时期

Dan*_*kov 4 bash ed

我正在研究ed文本编辑器。

要退出输入模式,用户应在单个句点(.)中输入一行。

假设我要输入句点作为文本。

我想到了一种解决方法:首先,我插入..。然后,我替换...

但是我的方法有点笨拙。有一个更好的方法吗?

Dan*_*kov 5

我没有找到魔术逃生序列。

似乎不存在。

但是此链接提供2个解决方案。首先,我描述了我的问题。第二个更接近逃脱的解决方案。

r ! echo .
Run Code Online (Sandbox Code Playgroud)


Gum*_*nos 5

通读GNU的C源代码ed(1),没有转义符。在我想这样做的场合,我倾向于添加一个空行,然后使用快速替换:

a?
?
.?
s/^/.?
Run Code Online (Sandbox Code Playgroud)

或者您可以添加一个字符然后将其删除(如果您在打ed(1)高尔夫球,则比上面多一个字符)

a?
x?
.?
s/./.?
Run Code Online (Sandbox Code Playgroud)

  • 作为记录,这也是`diff -e`所做的。`diff -e <(回声)<(printf'。\ n')` (2认同)