2016-07-23 6 views
0

良い日、Bashシェルスクリプトでどのように見つけ、私はこのテキストを見つけようとしています、一緒に入れている

区切りとして〜使ってsedを使ってテキストを置き換えます:は/ usr/local /freeswitch/log/freeswitch.logとに置き換えます。このファイルに/var/log/freeswitch/freeswitch.logは:/etc/fail2ban/jail.local

これは私が試したものですこれまでのところ、どちらもエラーになる:sed:-e式#1、char 75:終了していない `s 'c ommand

試み#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 

私の研究が示している私が探していたテキストは、 "/" の文字が含まれているため、I別の区切り文字「〜」を使用して、検索文字列と文字列文字列を区切ります。しかし、私は間違って何かをしているように見える、どんな援助も感謝される、ありがとう。

答えて

3

sed置換コマンドの構造は、s/PATTERN/REPLACEMENT/です(コマンドの最後の区切り文字に注意してください)。

あなたは正しく、区切り文字を別の文字に変更することができます。したがって、~を使用する場合は、コマンドの最後にその1つを入れる必要があります。

+0

aaaah、ありがとう、ありがとう、ありがとう!私はそれを逃したとは思わない –

関連する問題