我需要在FileA上用“badfile'filepath \ badfile”替换“badfile'C:users \ username \ desktop”的出现。换句话说,用badfile'filepath \ badfile
替换badfile'C:users \ username \ desktop我尝试了以下方法但没有效果
test=badfile 'C:users\\username\\desktop
test1=badfile 'filepath\\badfile
echo $test
echo $test1
sed -i 's|$test|$test1|g' FileA
我需要有关如何使此代码工作的帮助或更好的方法将受到赞赏。
答案 0 :(得分:0)
你需要:
"
封装变量值,以保留其值中的单引号字符。\
转义为\\
'
替换sed
命令中的单引号"
,以允许变量替换。使用单引号,您告诉它将字符串 $test
替换为字符串 $test1
。你得到:
test="badfile 'C:users\\\\username\\\\desktop"
test1="badfile 'filepath\\\\badfile"
echo $test
echo $test1
sed -i "s|$test|$test1|g" FileA
答案 1 :(得分:0)
在这里
#echo $test
badfile 'C:users\username\desktop
#echo $test | sed "s/\(.*\)\'\(.*\)/\2\|\1'/g"| sed 's/|/\\/g'
C:users\username\desktop\badfile '