sed -r 's/(@[^:]+:).*(StackOverflow=)//' input.txt
Explicação
-
sed -r 's/foo/bar/' input.txt
: use sed com expressões regulares estendidas, substituindo o padrãofoo
porbar
, para o arquivoinput.txt
. -
(@[^:]+:).*(StackOverflow=)
: corresponde ao@
no endereço de e-mail, que é seguido por 1 ou mais caracteres que não são:
([^:]+
). Isso é seguido por um:
. Capture tudo isso nos primeiros grupos de captura com()
. Isso é seguido por um número de caracteres.*
e, em seguida,StackOverflow=
, que também capturamos em um grupo()
. -
/1/2
: substitua essa expressão pelo endereço de e-mail parcial (o primeiro grupo de captura acima), ignore a parte intermediária e, em seguida, o segundo grupo de captura.
N.B. isso faz muitas suposições sobre o formato do arquivo de entrada, por exemplo, o formato do endereço de email, o número de @
e StackOverflow=
por linha, etc.