我有一组包含链接的html文件,链接的格式为http://mywebsite.com/showfile.cgi?key=somenumber,但我想去掉问号(其实是因为Firefox不喜欢问号,会随机将其转换成%3F,当然这个问题另说)。
然而,我认为我的代码导致问号字符在将选项存储为变量时无法正确读取、保存或处理。
如何使用SED_OPTIONS变量来获取完整的命令?
然而,我认为我的代码导致问号字符在将选项存储为变量时无法正确读取、保存或处理。
# Doesn't work (no pattern matched)
SED_OPTIONS='-i s/\.cgi\?key/\.cgikey/g'
# Works e.g. http://mywebsite.com/showfileblah?key=somenumber
SED_OPTIONS='-i s/\.cgi/blah/g'
# Leaves question mark in e.g. http://mywebsite.com/showfile.blah?key=somenumber
SED_OPTIONS='-i s/cgi\?/blah/g'
# Actual sed command run when using SED_OPTIONS (I define FILES earlier in
# the code)
sed $SED_OPTIONS $FILES
# Not using the SED_OPTIONS variable works
# e.g. http://mywebsite.com/showfile.cgikey=somenumber
sed -i s/\.cgi\?key/\.cgikey/g $FILES
如何使用SED_OPTIONS变量来获取完整的命令?
http://mywebsite.com/showfile.blahkey=somenumber
。 - Amal Murali