linux diff: existe uma maneira de listar diferenças quando os arquivos foram modificados pela última vez?

3

No terminal do Linux, estou usando

diff --recursivo --brief dir1 dir2

Há algumas semanas, dir1 e dir2 eram idênticas, mas ambas foram modificadas desde então. Eu gostaria de ordenar a saídas até a data da última modificação para os arquivos em dir2 (ou dir1, ou o que for mais recente, ou a hora em que eles começaram a ser diferentes).

Eu olhei para as opções de diferenças e parece não haver uma maneira de fazer isso. Alguém sabe uma maneira?

    
por user2429920 28.05.2013 / 21:32

1 resposta

1

Não, de todas as opções de diferenças, não há uma forma integrada de fazer as coisas necessárias. Você tem que cunhar sua própria solução.

Esta seria uma solução bastante simples e direta para começar:

find /path/to/dir1  /path/to/dir2 -printf "%TY-%Tm-%Td %TH:%TM %p\n" | sort -r

O que ele oferece é uma lista de arquivos em ordem cronológica inversa.

  1. Todos os arquivos que são mais recentes do que há algumas semanas, quando dir1 e dir2 eram idênticos, foram modificados.
  2. O arquivo modificado que vem no topo da lista é modificado mais recentemente. Por exemplo, se fileN em dir1 aparecer acima de dir2 , então fileN em dir1 será mais recente.

Isso é bom o suficiente?

    
por 29.05.2013 / 05:48