V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
rihoko
V2EX  ›  程序员

请教一个 shell sed 的问题

  •  
  •   rihoko · Oct 10, 2018 via iPhone · 1788 views
    This topic created in 2763 days ago, the information mentioned may be changed or developed.
    自己尝试和查询了很久奈何 sed 不是很熟用的太少,而且服务器环境固定不能使用其它发布语言,现在就是想用 sed 修改<soap:address location “ https:192.168.105.34 ” /> 冒号中间的值,如何写假定替换值是环境变量$url,多谢
    8 replies    2018-10-10 11:56:45 +08:00
    araraloren
        1
    araraloren  
       Oct 10, 2018
    冒号??????
    rihoko
        2
    rihoko  
    OP
       Oct 10, 2018 via iPhone
    @araraloren “”写错抱歉
    rihoko
        3
    rihoko  
    OP
       Oct 10, 2018 via iPhone
    抱歉是“”中间的值
    blankme
        4
    blankme  
       Oct 10, 2018
    sed 用 double quotes 会自动扩展环境变量
    export url="127.0.0.1"; sed -i "s/\".*\"/\"$url\"/g" yourfile
    rihoko
        5
    rihoko  
    OP
       Oct 10, 2018 via iPhone
    @blankme 额不需要匹配么?文件中还有其它的键值对
    blankme
        6
    blankme  
       Oct 10, 2018
    @rihoko
    需要匹配,你加入其他特征筛选就好了,比如 soap.*\".*\"
    able
        7
    able  
       Oct 10, 2018
    sed "s/\".*\"/\"$url\"/g"
    rihoko
        8
    rihoko  
    OP
       Oct 10, 2018 via iPhone
    @blankme 也就是匹配项添加在 s/\中间吗?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   743 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 21:17 · PVG 05:17 · LAX 14:17 · JFK 17:17
    ♥ Do have faith in what you're doing.