我想在倍数文件中的现有字符串周围添加双引号。


  check_envurl!ma100mlpapl002!-p 8080!-u / apollo / info?section = ERROR !!!!!


我想在第一个“ -u”之后但在“ /”和“!”之前添加引号。原来如此


  check_envurl!ma100mlpapl002!-p 8080!-u“ / apollo / info?section = ERROR” !!!!!


我尝试过sed替换,但不符合标准

define service {
        host_name                       ma100mlpapl002
        servicegroups                   Environment URL
        service_description             http://ma100mlpapl002:8080/apollo/info?section=ERROR
        display_name                    http://ma100mlpapl002:8080/apollo/info?section=ERROR
        check_command                   check_envurl!ma100mlpapl002!-p 8080!-u /apollo/info?section=ERROR!!!!!
        max_check_attempts              3
        check_interval                  15
        retry_interval                  1
        check_period                    24x7
        contact_groups                  siteops

    sed '/pattern/a some text here' filename

最佳答案

尝试这个:

$ sed 's/-u \([^!]*\)!/-u "\1"!/' <<< 'check_envurl!ma100mlpapl002!-p 8080!-u /apollo/info?section=ERROR!!!!!'
check_envurl!ma100mlpapl002!-p 8080!-u "/apollo/info?section=ERROR"!!!!!

08-19 18:19