我使用以下代码删除一行:
sed -i "0,/$DELETE_THIS/{/$DELETE_THIS/d;}" file.txt
但是,如果变量DELETE_THIS
包含特殊字符(如.
、等) /
,此代码将失败*
...
有没有办法告诉sed
忽略所有特殊字符并将它们用作基本文本?
我使用以下代码删除一行:
sed -i "0,/$DELETE_THIS/{/$DELETE_THIS/d;}" file.txt
但是,如果变量DELETE_THIS
包含特殊字符(如.
、等) /
,此代码将失败*
...
有没有办法告诉sed
忽略所有特殊字符并将它们用作基本文本?
你有一个字符串 in
$DELETE_THIS
,你想以一种可以按字面意思对待它sed
的方式传递给它。sed
为此,您必须引用对 有意义的所有字符
sed
。在它们前面加上一个反斜杠。例如,使用 Bash 语法:
例如,这将转换
^ab[c-d]\ef$
为\^ab\[c-d\]\\ef\$
.