Como observou @StephaneChazelas, você se esqueceu de ancorar sua expressão regular, portanto, o "> "
corresponderá ao >
na linha pqr <> pqr
que está apenas em a.txt
.
Mas parece que você quer que um filtro mostre apenas as linhas novas ou alteradas em b.txt
. Se você está usando o GNU diff, ele oferece algumas opções para você conseguir isso diretamente:
$ diff --old-line-format '' --unchanged-line-format '' --new-line-format '%L' a.txt b.txt
pqr <> pqrs
stu
O --old-line-format ''
remove todas as linhas que não estão em b.txt
, o --unchanged-line-format ''
remove todas as linhas comuns a ambos os arquivos e o --new-line-format '%L'
mostra apenas o conteúdo da linha para todas as linhas novas ou alteradas em b.txt
. O >
inicial é suprimido.