Como remover a primeira instância de algo em um arquivo com o awk?

0

Se eu tiver um arquivo com várias linhas com

...
  end
...
  end
...
  end
...

Como posso remover apenas a primeira instância?

Até agora eu tentei

 awk 'BEGIN {found=false} /  end/ { d; found=true} else {print}'

 awk 'BEGIN {found=false} {/  end/ {found=true} else {print}}'

como começo / palpite, mas está obviamente errado.

    
por Michael Durrant 09.09.2015 / 14:54

1 resposta

3

Use apenas uma variável para rastrear a primeira correspondência:

awk -v first=1 'first && /  end/ {first=0;next};1' <file
    
por 09.09.2015 / 14:59

Tags