https://zhuanlan.zhihu.com/p/163475216
比如hello.txt文本中內容如下:
Hello, Name!
現使用真實Name替換掉#Name#。
export Name="JayChou" sed -i "s/Name/$Name/g" hello.txt
但是如果替換的文本中包含/
的話,那么上面這個命令會失敗:。
例如
export Name="Jay/Chou" sed -i "s/Name/$Name/g" hello.txt
這里為了保留被替換文本的/
,有兩種方法
- 在被替換文本中使用轉義符號:
export Name="Jay\/Chou" sed -i "s/Name/$Name/g" hello.txt
- 使用
#
代替/
作為sed中替換與被替換字符的分割符:
export Name="Jay/Chou" sed -i "s#Name#$Name#g" hello.txt