我在文件夹中有一些 XML 文件,我想用不同的路径替换文件中定义的路径,因此原始文件包含:
<Ruta MIMEType="application/pdf">\\srvfsrvivwsk02.preprod.corp\SDD\Cap_Incoming\example.pdf</Ruta>
结果应该是:
<Ruta MIMEType="application/pdf">\\srvfsrvivwsk35.preprod.corp\SDD2\Cap2_Incoming\Incoming2\example.pdf</Ruta>
我正在尝试使用以下命令,但它不起作用:
a='\\srvfsrvivwsk02.preprod.corp\SDD\Cap_Incoming'
b='\\srvfsrvivwsk35.preprod.corp\SDD2\Cap2_Incoming\Incoming2'
sed -i 's/'$a'/'$b'/g' exaple.xml
反斜杠似乎没有按预期工作。你能帮我解决这个问题吗?
反斜杠将转义后面的字符,因此您可以使用两个反斜杠 \\
来匹配每个 \
sed 's/\\\\srvfsrvivwsk02.preprod.corp\\SDD\\Cap_Incoming/\\\\srvfsrvivwsk35.preprod.corp\\SDD2\\Cap2_Incoming\\Incoming2/g' example.xml
│
我是一名优秀的程序员,十分优秀!