Sed 问题不替换特殊字符

Sed 问题不替换特殊字符

我正在尝试替换一个角色以与 Zenity 配合使用。这按预期工作:

echo "& <" | sed 's/&/&amp;/g'

但我在执行以下操作时遇到问题:

echo "<" | sed 's/</&lt;/g'

输出变成这样:

<lt;

我尝试在特殊字符前面加上反斜杠,但这也不起作用,双引号也是如此。

我是否忽略了一些非常明显的事情?

答案1

发布后确实找到了答案。& 符号前需要反斜杠,而不是我在发布前尝试过的 <。

echo "<" | sed 's/</\&lt;/g'

现在工作正常。

相关内容