awk '$2 == $4 {print NR ":" $0}' filename
produzirá todas as linhas ofensivas com o número da linha.
Eu tenho vídeos educacionais que estou tentando gravar em um DVD usando o Bombono DVD junto com suas legendas correspondentes. Os subitles (arquivos .srt) têm o seguinte formato:
1 00: 00: 00,000 - > 00: 00: 02,000 No vídeo em que introduzimos o átomo, eu fui
2 00: 00: 02,000 - > 00: 00: 06,000 um pouco sobre como no centro de um átomo nós temos o
3 00: 00: 06,000 - > 00: 00: 09.000 núcleo, e é realmente uma fração muito pequena do
etc.
No entanto, existem alguns erros nas legendas em que o tempo de uma linha é zero segundos. Por exemplo:
81 00: 03: 37,000 - > 00: 03: 37.000 um pouco mais rápido.
Quando o software de criação de DVD encontra essas linhas, ele cancela todo o processo de gravação de DVD. Eu posso descobrir qual linha causou o erro, mas então eu tenho que iniciar a gravação novamente antes que eu saiba onde o próximo é.
Minha pergunta é se é possível criar um script que pesquisará todos os arquivos de legenda e localizará todas as instâncias de repetição em uma única linha se eu não souber qual é a string exata que é repetida. Essencialmente, é possível mostrar cada linha que tem 12 caracteres repetidos sem especificar o que esses caracteres são (já que eles são diferentes em todas as instâncias?)
Obrigado pela sua ajuda.
awk '$2 == $4 {print NR ":" $0}' filename
produzirá todas as linhas ofensivas com o número da linha.