sed被替換字符中含有`/`的處理方法


 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM