Eu não sei quais ferramentas você tem tentado, mas eu uso sed
para esse tipo de coisa:
sed 's/^[^,]*\([^,][^,],.*$\)//g'
Você pode usar isso como um filtro ( sed ... <InFile >OutFile
) ou usar a opção -i
para atualizar um nome de arquivo que você adicionaria à cadeia de execução ( sed -i ... InFile
).
Isso pesquisa cada linha, procurando os dois últimos caracteres antes da primeira vírgula usando [^,]
para corresponder a qualquer caractere, exceto uma vírgula. Em seguida, ele inicia um campo de correspondência antes desses dois caracteres com \(
e finaliza o campo de correspondência no final da linha com \)
. Então, este campo de correspondência substitui a expressão de correspondência inteira, que começa no início da linha.
Eu costumo usar expressões regulares, então acho simples escrever isso, mas sou o primeiro a admitir que são difíceis de aprender.