Compare dois logs linha por linha e mostre diferenças e se a ordem das palavras de uma linha não for a mesma [duplicata]

2

Eu não preciso de uma ferramenta Eu preciso de uma implementação / alphorithm :) Eu preciso fazer um shellscript porque eu não posso instalar nada no servidor

f2.txt

She has 123 apples
George 18 years is old
Florin it's leaving
Michael it's not here
Peter is smiling

f1.txt

She has 132 apples
George is 18 years old
Michael it's not here
Peter is smiling
He is sleeping

Saída desejada:

diff is at:
line 1 : 123 instead of 132
line 2 : 18 years is instead of is 18 years
lines missing:
He is sleeping
lines added:
line 3: Florin it's leaving
    
por Stoian George 05.10.2017 / 11:09

1 resposta

3

Não é exatamente o formato que você está pedindo, mas wdiff é provavelmente sua melhor aposta:

$ wdiff f1.txt f2.txt
She has [-132-] {+123+} apples
George [-is-] 18 years {+is+} old
{+Florin it's leaving+}
Michael it's not here
Peter is smiling
[-He is sleeping-]
    
por 05.10.2017 / 11:20