使用sed将模式删除到第一个空格引用

使用sed将模式删除到第一个空格引用,sed,Sed,我需要从以下位置删除我的后缀日志行: Jun 12 06:19:20 cm postfix: 123123: to=<xxxxx@xxx.xxx>, relay=x.x.x.x, conn_use=3, delay=2, delays=1.6/0/0.01/0.32, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as XXXXXXX) Jun 12 06:19:20 cm后缀:123123:to=,relay=x.x.x.x,conn_

我需要从以下位置删除我的后缀日志行:

Jun 12 06:19:20 cm postfix: 123123: to=<xxxxx@xxx.xxx>, relay=x.x.x.x, conn_use=3, delay=2, delays=1.6/0/0.01/0.32, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as XXXXXXX)
Jun 12 06:19:20 cm后缀:123123:to=,relay=x.x.x.x,conn_use=3,delay=2,delays=1.6/0/0.01/0.32,dsn=2.0.0,status=sent(250 2.0.0.0 Ok:排队为XXXXXXX)
为此:

Jun 12 06:19:20 cm postfix: 123123: to=<xxxxx@xxx.xxx>, relay=x.x.x.x, delay=2, delays=1.6/0/0.01/0.32, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as XXXXXXX)
Jun 12 06:19:20 cm后缀:123123:to=,relay=x.x.x.x,delay=2,delays=1.6/0/0.01/0.32,dsn=2.0.0,status=sent(250 2.0.0确定:作为XXXXXXX排队)
我只需要删除“conn_use=3”。该值可能是可变的(例如conn_use=12.5) 我试过: sed的/conn\u use=.*\/' 但它会删除所有内容直到最后一个(基本上,在“as”之后):XXXXXXX)

sed方法:

sed 's/conn_use=[^,]*, //' file
输出:

Jun 12 06:19:20 cm postfix: 123123: to=<xxxxx@xxx.xxx>, relay=x.x.x.x, delay=2, delays=1.6/0/0.01/0.32, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as XXXXXXX)
Jun 12 06:19:20 cm后缀:123123:to=,relay=x.x.x.x,delay=2,delays=1.6/0/0.01/0.32,dsn=2.0.0,status=sent(250 2.0.0确定:作为XXXXXXX排队)

  • [^,]*
    -匹配除
    • sed方法:

      sed 's/conn_use=[^,]*, //' file
      
      输出:

      Jun 12 06:19:20 cm postfix: 123123: to=<xxxxx@xxx.xxx>, relay=x.x.x.x, delay=2, delays=1.6/0/0.01/0.32, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as XXXXXXX)
      
      Jun 12 06:19:20 cm后缀:123123:to=,relay=x.x.x.x,delay=2,delays=1.6/0/0.01/0.32,dsn=2.0.0,status=sent(250 2.0.0确定:作为XXXXXXX排队)
      

      • [^,]*
        -匹配除
      瞧:

      sed 's/conn_use=[^,]*, //'<<< 'Jun 12 06:19:20 cm postfix: 123123: to=<xxxxx@xxx.xxx>, relay=x.x.x.x, conn_use=3, delay=2, delays=1.6/0/0.01/0.32, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as XXXXXXX)'
      
      sed的/conn_use=[^,]*,/”voila:

      sed 's/conn_use=[^,]*, //'<<< 'Jun 12 06:19:20 cm postfix: 123123: to=<xxxxx@xxx.xxx>, relay=x.x.x.x, conn_use=3, delay=2, delays=1.6/0/0.01/0.32, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as XXXXXXX)'
      

      sed's/conn_use=[^,]*,//':D在终端上测试后,我浪费了一些时间来复制输出:3是的,我对u的尊敬(没有可怜):3没关系,我希望你知道该怎么做:D在终端上测试后,我浪费了一些时间来复制输出:3是的,我对u的尊敬(没有可怜):3没关系,我希望你知道该怎么做