Remover termo parecido com regex

Boa tarde, camaradas.

Preciso de uma mão para automatizar a exclusão de termos que ligeiramente parecidos via regex, parecem com isso sempre mantendo o início igual:

Version:0.9 StartHTML:0000000105 EndHTML:0000001631 StartFragment:0000000141 EndFragment:0000001591

Version:0.9 StartHTML:0000000105 EndHTML:0000000631 StartFragment:0000000141 EndFragment:0000000591

@romulopb saca?

Poderia citar um exemplo mais claro dos dados que você está analisando e das linhas que você quer excluir?

Chuto que você busca algo como ^.*:[0-9]+$ (linha com qualquer sequência de caracteres, seguida de dois pontos, seguida de um ou mais dígitos).

Eu quero apagar a linha que sempre tem esta parte fixa Version:0.9 StartHTML:0000000105

Pode usar o grep -Fv 'Version:0.9 StartHTML:0000000105', nem precisa estritamente de regex.

Ou, se houver linhas com esse padrão no meio, grep -Fv '^Version:0\.9 StartHTML:0000000105' (note o ^, que assegura um início de linha, e \. para impedir o significado especial do ponto).

Infelizmente não está dando certo, mas mesmo assim obrigado.

Quem manja de como fazer isso no Anki. Agradeço.

Talvez você esteja procurando por:

grep -vP 'Version:\d.\d* StartHTML:\d*'

Ou você que realmente apenas remover os contendo StartHTML:0000000105?

grep -v 'StartHTML:0000000105'

Mas se você quer realmente remover as linhas que contem exatamente “Version:0.9 StartHTML:0000000105”, é como o @Capezotte apontou. Você está fazendo assim?:

cat arquivo.txt | grep -Fv 'Version:0.9 StartHTML:0000000105'

Anki

Infelizmente não conheço essa ferramenta, mas se ela suporta regex, talvez você esteja buscando uma dessa regex:

^(?!Version:0.9 StartHTML:0000000105).*

Quero apagar a linha que tem sempre isso Version:0.9 StartHTML:0000000105

Se você puder dar um pouco mais de contexto sobre o que é esse Anki, ele suporta regex? Se sim, como ele usa regex, via match linha por linha?

Sim, Romulo. Não conheço regex, mas isso apagou parte do conteúdo.

^(?!Version:0.9 StartHTML:0000000105).*

removeu as linhas que você desejava remover?

Somente uma a parte do Version:0.9 StartHTML:0000000105

Como assim, removeu parte da linha? se puder dar um exemplo do resultado.

Ficou assim uma delas:

StartHTML:0000000105 EndHTML:0000000631 StartFragment:0000000141 EndFragment:0000000591

se você puder mandar um print do local onde você aplica a regex, pois é preciso saber como ele usa a regex.

Por exemplo, essa regex que eu te mandei é para dar match se o texto não iniciar com Version:0.9 StartHTML:0000000105 seguido de qualquer caractere repetido 0 ou mais vezes.

Mas dependendo de como esse tal Anki faz uso do regex, essa regra não vai devolver o que você busca.

Antes do regex:

Depois do regex:

@Vinicus infelizmente ainda não está claro como esse programa funciona, você tem o site desse tal Anki?

Não está bem claro se você aplica na linha, ou em várias, nem como é aplicado esse regex. Talvez seja melhor esperar alguém que conhece esse programa.

Aqui está explicações que não consigo entender.

https://docs.ankiweb.net/browsing.html#find-and-replace

Só tem que ver se é isso que você quer, isso vai substituir padrões em um texto por algo, e não filtrar textos. Você precisa ser mais claro sobre o que você realmente quer fazer. Substituir coisas nos textos? somente mostrar textos que não tem o padrão (Busca)? Será que você não quer:

https://docs.ankiweb.net/searching.html#regular-expressions

caso você queira apenas remover Version:0.9 StartHTML:0000000105 das linhas, o regex é outro. é um regex de substituição dai.

Se você quer apagar todo o texto:

Version:0.9 StartHTML:0000000105.*

Mas replace with tem de ficar vazio.