SED:搜索并用反斜杠替换两个表达式
SED: Search and replace two expressions with backslash
我正在尝试使用 sed
搜索和替换字符串。搜索和替换字符串中都有反斜杠。例如
var="\text{kpll}"
var2="k_{\parallel}"
sed -i.bak "s|$var|$var2|g" MathematicaToLaTex.tex
这没有按预期工作。我期待
\text{kpll} ---> k_{\parallel}
相反,我得到
\text{kpll} ---> \k_{parallel}
似乎 sed
正确地找到了字符串 \text{kpll}
就好了,但它并没有准确地替换它。浏览了论坛但找不到解决方案。已尝试使用 '
而不是 "
更改分隔符,但无济于事。还尝试将文件类型从 .tex
更改为 .txt
,但没有任何区别。 运行 这在 MacOS 的终端中。
--------编辑--------
我需要 both 将单反斜杠更改为双反斜杠,并将变量名引号从 "
更改为 '
才能正常工作。
转义反斜杠并将 "
替换为 '
:
var='\text{kpll}'
var2='k_{\parallel}'
sed -i.bak "s|$var|$var2|g" MathematicaToLaTex.tex
我正在尝试使用 sed
搜索和替换字符串。搜索和替换字符串中都有反斜杠。例如
var="\text{kpll}"
var2="k_{\parallel}"
sed -i.bak "s|$var|$var2|g" MathematicaToLaTex.tex
这没有按预期工作。我期待
\text{kpll} ---> k_{\parallel}
相反,我得到
\text{kpll} ---> \k_{parallel}
似乎 sed
正确地找到了字符串 \text{kpll}
就好了,但它并没有准确地替换它。浏览了论坛但找不到解决方案。已尝试使用 '
而不是 "
更改分隔符,但无济于事。还尝试将文件类型从 .tex
更改为 .txt
,但没有任何区别。 运行 这在 MacOS 的终端中。
--------编辑--------
我需要 both 将单反斜杠更改为双反斜杠,并将变量名引号从 "
更改为 '
才能正常工作。
转义反斜杠并将 "
替换为 '
:
var='\text{kpll}'
var2='k_{\parallel}'
sed -i.bak "s|$var|$var2|g" MathematicaToLaTex.tex