user_output_test1 tem duas linhas:
'2-A' '0123456789ABCDEF'=0
'+2-A' '0123456789ABCDEF'=0
que diferem de test1.output , que tem essas duas linhas:
'2-A' '0123456789ABCDEF'=2
'+2-A' '0123456789ABCDEF'=2
A diferença substantiva sendo o =0 transformando-se em =2 's.
O símbolo principal - indica linhas que seriam removidas do primeiro arquivo, enquanto o símbolo + inicial indica linhas que precisariam ser adicionadas ao primeiro arquivo para resultar no segundo arquivo.
O diff unificado -U é o que cria esse formato geral diff , enquanto o 3 reforça o contexto padrão de 3 linhas ao redor de cada alteração. Essas linhas de "contexto" têm um espaço à esquerda em vez de um + ou - .
Adicionar cat -e simplesmente adicionou os símbolos $ à direita.