我试图用变量的值替换文件中的一行(该变量包含一个Windows路径)。虽然变量可以正确打印到STDOUT,但在sed中用于替换感兴趣的行时,反斜杠会消失。
知道如何解决这个问题吗?欢迎其他想法。
CODE:
的WinPath = “\\\\ HD-地方\\ stor1 \\ fold1 \\归档\\ $ VAR1。$ VAR2 \\查看器”
将其打印到屏幕(应该如此):\\ hd-place \ stor1 \ fold1 \ archive \ $ VAR1。$ Var2 \ Viewer
我正在使用的SED命令是:cat file.xml | sed“3 c \ < \ RunFolder> $ WINPATH< / RunFolder>“(请原谅XML标签内的斜杠)
这输出:
\ HD-placestor1fold1archive $ VAR1。$ Var2Viewer
我想要的地方: \\ HD-地方\ stor1 \ fold1 \存档\ $ VAR1。$ VAR2 \查看器
答案 0 :(得分:2)
反斜杠需要一个额外的转义层,因为sed
也会在扩展变量后解释它们。