【问题标题】:Sed Replace With Two Different Variable ValuesSed 替换为两个不同的变量值
【发布时间】:2016-02-01 02:53:30
【问题描述】:

我想像这样将旧的路径变量替换为新的:

script_path=$(readlink -f "$0") #[/home/username/Desktop/script]
desktopfolder_old=/home/username/Desktop
desktopfolder_new=/home/username/NewOne
script_path_new=$(echo "$script_path" | sed -e "s/$desktopfolder_old/$desktopfolder_new/")

因为 bash 脚本在运行时会被移动。 但是做不到。会是什么样子?

【问题讨论】:

    标签: bash variables replace sed sh


    【解决方案1】:

    变量中的那些/s 将在var 替换后完全弄乱sed "s/$var...-e 也是多余的。试试吧:

    script_path_new=$(echo "$script_path" | sed "s|$desktopfolder_old|$desktopfolder_new|")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-28
      • 2013-12-30
      • 1970-01-01
      • 2021-05-21
      • 2011-12-02
      • 2021-11-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多