2017-02-22 6 views
-1
でスペース私は、ファイルに

sedの正規表現

proxy: '' 

proxy: 'https://link.com:8099' 

を交換するsedを使用して困難を抱えてい

を持つ

私は(下記参照)が、それを次のコマンドを持っています私に与えること

proxy: https://link.com:8099'' 

両方の引用符でurlの後に。

sed '[email protected]: ''@proxy: 'http://link.com:8099'@'<test.txt > test1.txt 

助けてください。

注:私はRHELでこれを行い、シェフでこれを行う必要があります。

答えて

1

これは動作するはずです:

echo "proxy: ''" |sed 's#\x27\x27#\x27https://link.com:8099\x27#g' 
proxy: 'https://link.com:8099' 

それが動作する理由:
私たちは、私たちは''に代わり百万エスケープの/
をエスケープする必要はありません、我々は進ASCIIを使用する別の区切り#を使用それらのコード= \x27

0

'''\'\''を二重引用符で指定することができます。

あなたは次のように行うことができます。

sed -r 's/(proxy:\s+)('\'\'')/\1'\'https:\\/\\/link.com:8099\''/g' test.txt > test1.txt 

を最初のグループは

+0

私たちの違いは数秒です! :) –

0
$ echo "proxy: ''" | sed -e "[email protected]: ''@proxy: 'http://blah'@" 
proxy: 'http://blah' 

を置き換えるために、単一引用符で次proxy:テキストは、私が質問に何かを欠場かありますか?