[英]How do I find and replace text using sed using ~ as delimiter
美好的一天,
在我整理的Bash shell腳本中,我試圖找到以下文本: /usr/local/freeswitch/log/freeswitch.log並將其替換為:在該文件中的/var/log/freeswitch/freeswitch.log : /etc/fail2ban/jail.local
到目前為止,這是我嘗試過的操作,都導致錯誤: sed:-e表達式#1,字符75:未終止的s命令
嘗試#1
sed -i 's~usr/local/freeswitch/log/freeswitch.log~var/log/freeswitch/freeswitch.log' /etc/fail2ban/jail.local
嘗試#2
sed -i 's~usr/local/freeswitch/log/freeswitch.log/var/log/freeswitch/freeswitch.log' /etc/fail2ban/jail.local
我的研究表明,由於要搜索的文本包含“ /”字符,因此我應該使用其他定界符“〜”來分隔查找和替換字符串。 但是看起來我做錯了,感謝您的任何幫助。
sed替換命令的結構為s/PATTERN/REPLACEMENT/
(請注意命令末尾的定界符)。
沒錯,您可以將定界符更改為其他字符,因此,如果要使用~
,則需要在命令末尾放置其中一個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.