Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 用反斜杠替换字符串_Linux_Sed - Fatal编程技术网

Linux 用反斜杠替换字符串

Linux 用反斜杠替换字符串,linux,sed,Linux,Sed,我在文件夹中有一些XML文件,我想用不同的路径替换文件中定义的路径,因此原始文件包含: <Ruta MIMEType="application/pdf">\\srvfsrvivwsk02.preprod.corp\SDD\Cap_Incoming\example.pdf</Ruta> 看来反斜杠并不像预期的那样有效。您能帮我一下吗?反斜杠将转义以下字符,因此您可以使用两个反斜杠\来匹配每个\ sed's/\\\\srvfsrvivwsk02.prepod.corp\\S

我在文件夹中有一些XML文件,我想用不同的路径替换文件中定义的路径,因此原始文件包含:

<Ruta MIMEType="application/pdf">\\srvfsrvivwsk02.preprod.corp\SDD\Cap_Incoming\example.pdf</Ruta>

看来反斜杠并不像预期的那样有效。您能帮我一下吗?

反斜杠将转义以下字符,因此您可以使用两个反斜杠
\
来匹配每个
\


sed's/\\\\srvfsrvivwsk02.prepod.corp\\SDD\\Cap\u Incoming/\\\\srvfsrvivwsk35.prepod.corp\\SDD2\\Cap2\u Incoming2/g'example.xml

问题是,它需要在linux脚本中完成并安排时间,因为文件每天都会到达。它工作正常,但现在我需要使用变量:originalPath=\\\\srvfsrvivwsk02.prepod.corp\\SDD\\Cap\u Incoming targetPath=\\\\srvfsrvwsk35.prepod.corp\\sd2\\Cap2\u Incoming\\2有什么想法吗?sed's/$originalPath/$targetPath/g'example.xml
<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