簡體   English   中英

我如何使用〜作為分隔符使用sed查找和替換文本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM