Eu encontrei a resposta. Era simples como o inferno.
Esta linha simples fez o que eu queria, talvez ajude também para outra pessoa.
(\string).*$
Selecionará tudo depois da string, incluindo a string
Estou selecionando uma linha específica e quero que ela seja removida com todo o texto e as linhas depois dela.
Código que eu uso para selecionar a linha que contém a string necessária:
^.*(string).*$
Também eu outro para removê-lo e texto antes para outra string.
Seria ótimo se eu pudesse substituir todo o texto e as linhas por uma única linha personalizada.
Eu tentei adicionar. * e \ r \ n, mas nada está funcionando ..
Se eu entendi sua pergunta, esse script responde ao primeiro problema. Para o segundo problema, use quase o mesmo script e execute o diff nos dois arquivos.
#!/bin/bash -
#
gawk '
# /pattern/ { action }
BEGIN { flag = 0 }
/^.*foo.*$/ { flag++ }
{
if (flag == 0)
print $0
}
' file
Tags command-line regex notepad++