如果您觉得这个问题非常基本,请道歉。无论如何,我正在打字,
sed '/[iI]t/ a\\ Found it!' data
但它说未找到错误事件。
我尝试!
用反斜杠转义它\!
,但它不起作用。
我不明白反斜杠何时\
可以转义字符并按字面意思使用它,那么为什么它在 sed 中不起作用?
答案1
您在哪个操作系统上尝试过?在 HP-UX 8.11 csh 上,有 2 种方法可以取消历史替换中感叹号的特殊含义(请参阅 man csh 中的历史替换)。
后面留个空格! (其他几个角色也可以)
sed '/[iI]t/ a\\ Found it! ' data
通过 \! 转义它
sed '/[iI]t/ a\\ Found it\!' data
这实际上也适用于双引号:
sed "/[iI]t/ a\\ Found it\!" data