String 用引号替换文本文件中的字符串,用sed替换双引号
假设我要替换文本文件中的以下字符串:String 用引号替换文本文件中的字符串,用sed替换双引号,string,unix,replace,sed,quotes,String,Unix,Replace,Sed,Quotes,假设我要替换文本文件中的以下字符串: document.write(unescape("%3Cscript src='" + \ + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); 我想出了这个sed命令,但令人惊讶的是什么也没发生 sed -i "s/document.write(unescape(\"%3Cscript src=\"\' + \\ + \"google-analytics.com
document.write(unescape("%3Cscript src='" + \ + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
我想出了这个sed命令,但令人惊讶的是什么也没发生
sed -i "s/document.write(unescape(\"%3Cscript src=\"\' + \\ + \"google-analytics.com\/ga.js\' type=\'text\/javascript\'%3E%3C\/script%3E\"));//g" myfile.html
这里怎么了
sed
和shell展开。使用\\\\
(在shell中变成\\
,然后在sed中变成\
)
src=“”
,但您的文件包含src=”
/
替换为|
,以使其更具可读性(不再需要转义/
)
sed
和shell展开。使用\\\\
(在shell中变成\\
,然后在sed中变成\
)
src=“”
,但您的文件包含src=”
我已将
/
替换为|
,以使其更具可读性(不再需要逃避/
)。谢谢,我不知道管道的诀窍。然而,这一个不也应该起作用吗?“s/document.write(unescape(\%3Cscript src='\'”++\\\\\+\“google analytics.com\/ga.js'type='text\/javascript'%3E%3C\/script%3E\”);//g”应该可以工作,但在进一步编辑命令之前,我决定使用管道。顺便说一下,它不仅适用于|
,还可以使用其他字符(请参阅sed
手册)。谢谢,我不知道使用管道的诀窍。然而,这一个不也应该起作用吗?“s/document.write(unescape(\%3Cscript src='\'”++\\\\\+\“google analytics.com\/ga.js'type='text\/javascript'%3E%3C\/script%3E\”);//g”应该可以工作,但在进一步编辑命令之前,我决定使用管道。顺便说一下,它不仅适用于|
,还可以使用其他字符(请参阅sed
手册)。
sed -i \
"s|document.write(unescape(\"%3Cscript src='\" + \\\\ + \"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E\"));||g" \
myfile.html