sed -r 's/(eth0 Link )[^ ]+ //'
Em slo-mo:
- corresponde
eth0 Link
(com espaço final) e mantém - corresponde a qualquer espaço não consecutivo (assim, a próxima palavra)
- corresponde a um espaço adicional
-
substitua o lote pela string mantida na primeira correspondência
~>echo "eth0 Link encap:Ethernet-12 HWaddr 94:EE:88:00:FA:AA" | sed -r 's/(eth0 Link )[^ ]+ //' eth0 Link HWaddr 94:EE:88:00:FA:AA
is it possible to do it with searching
encap
and then replacing string after it till space?
Sim. Este filtro
sed -r 's/encap[^ ]+ //'
substituirá a parte encap
(espaço à direita incluído) por literalmente nada, removendo-a efetivamente.