Linux Sed在正则表达式中有空格
我很难使用sed来替换Linux Sed在正则表达式中有空格,linux,sed,Linux,Sed,我很难使用sed来替换 proxy: '' 与 归档 我有以下命令(见下文),但它给了我 proxy: https://link.com:8099'' 在url后面加上两个引号 sed 's@proxy: ''@proxy: 'http://link.com:8099'@'<test.txt > test1.txt sed's@proxy:''@proxy:'http://link.com:8099“@”test1.txt 感谢您的帮助 注意:我在RHEL中执行此操作,需要在
proxy: ''
与
归档
我有以下命令(见下文),但它给了我
proxy: https://link.com:8099''
在url后面加上两个引号
sed 's@proxy: ''@proxy: 'http://link.com:8099'@'<test.txt > test1.txt
sed's@proxy:''@proxy:'http://link.com:8099“@”test1.txt
感谢您的帮助
注意:我在RHEL中执行此操作,需要在chef中执行此操作。这应该可以:
echo "proxy: ''" |sed 's#\x27\x27#\x27https://link.com:8099\x27#g'
proxy: 'https://link.com:8099'
工作原理:我们使用不同的分隔符
#
,因此不需要转义/
我们使用十六进制ascii码代替一百万次转义到
'
,=\x27您可以使用\'\'\'
指定双单引号'
您可以执行以下操作:
sed -r 's/(proxy:\s+)('\'\'')/\1'\'https:\\/\\/link.com:8099\''/g' test.txt > test1.txt
第一组是代理:
文本,后跟要替换的单引号
$ echo "proxy: ''" | sed -e "s@proxy: ''@proxy: 'http://blah'@"
proxy: 'http://blah'
我是否遗漏了问题中的某些内容?我们的差异是几秒!!:)
$ echo "proxy: ''" | sed -e "s@proxy: ''@proxy: 'http://blah'@"
proxy: 'http://blah'