Sed 替换为两个不同的变量值
Sed Replace With Two Different Variable Values
我想像这样将旧路径变量替换为新路径变量:
script_path=$(readlink -f "[=10=]") #[/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 脚本在 运行 时将被移动。
但是做不到。会是什么样子?
变量中的那些 /
将在 var 替换后完全弄乱 sed "s/$var...
。 -e
也是多余的。试试看:
script_path_new=$(echo "$script_path" | sed "s|$desktopfolder_old|$desktopfolder_new|")
我想像这样将旧路径变量替换为新路径变量:
script_path=$(readlink -f "[=10=]") #[/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 脚本在 运行 时将被移动。 但是做不到。会是什么样子?
变量中的那些 /
将在 var 替换后完全弄乱 sed "s/$var...
。 -e
也是多余的。试试看:
script_path_new=$(echo "$script_path" | sed "s|$desktopfolder_old|$desktopfolder_new|")