linux - 我可以使用 sed 来搜索字符串并追加/sub1 和一些文件 ../before search string

标签 linux unix replace sed

我必须查看 jsp 文件并查找字符串 loginpage.jsp 并替换为 ../loginPage.jsp。 我试过以下: 第一次尝试:

    sed -i -e 's/<a id="logo" href="loginPage.jsp"><span class="alt">abc</span>        </a>/<a      id="logo" href="../loginPage.jsp"><span class="alt">abc</span></a>/g' 

第二次尝试:

    SRC="'loginPage.jsp'"
    DEST="'sub2/loginPage.jsp'"
    sed -i "s/$SRC/$DEST/g" <file path>/test1.jsp

第三次尝试使用行号是文件

   var="response.sendRedirect("sub2/loginPage.jsp");"
   sed "19 s/.*/$var/" <file path>/test1.jsp

能否请您指导我如何实现这一目标? 谢谢,

最佳答案

由于您的输入文本也有斜线,您应该转义输入中的所有斜线或使用其他分隔符,例如,试试这些:

sed 's#<....>#replacement#g' file

sed -i "s#$SRC#$DEST#g" <file path>/test1.jsp

关于linux - 我可以使用 sed 来搜索字符串并追加/sub1 和一些文件 ../before search string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18282121/

相关文章:

php - 尝试安装 Horde 时出错

python - 使用鼠标移动和缩放 tkinter Canvas

macos - curl 命令的权限被拒绝

javascript - 如何更改 src 属性的一部分未知

linux - 我正在尝试通过 shell 脚本替换文件中的字符串,其中字符串的一部分是未知的

Linux删除一行中一个字符后的空格

linux - 设置 cron 作业的具体时间和间隔

linux - Bash 脚本如果 elif elif 不工作

linux - 如何检查变量是否包含有效的 ip 地址

bash - osx 查找 exec rm 查找 : exec: unknown primary or operator