Sort - Liste os arquivos pela última data modificada, mas mostre apenas arquivos com o mesmo dia mais recente

0

Digamos que eu queira encontrar a base de arquivos dos últimos dias modificados e classificar a base da lista a partir da última data de modificação.

Por exemplo,

find /path/to/files -mtime -15 | xargs -d '\n' -r ls -t

Saída: nota: apenas indicarei a data modificada no nome do arquivo para mostrar a data de modificação

/path/to/file_EEE_2018Apr01.dat
/path/to/file_DDD_2018Apr01.dat
/path/to/file_CCC_2018Apr01.dat
/path/to/file_AAA_2018Mar28.dat
/path/to/file_BBB_2018Mar26.dat

Então eu quero pegar os arquivos com a última data modificada, mas no mesmo dia

Por exemplo Saída final: Isto é retirado do resultado da primeira saída.

/path/to/file_EEE_2018Apr01.dat
/path/to/file_DDD_2018Apr01.dat
/path/to/file_CCC_2018Apr01.dat
    
por WashichawbachaW 06.04.2018 / 09:27

1 resposta

2

Isso fará isso:

FIND_PATH='/path/to/files'; find "$FIND_PATH" -newermt $(find "$FIND_PATH" -printf '%TY-%Tm-%Td\n' | sort | tail -1)

O "interior" find imprimirá todas as datas de modificação no formato yyyy-mm-dd e imprimirá somente as mais recentes ( | sort | tail -1 ).

O "outer" find só encontrará arquivos com essa data.

    
por 06.04.2018 / 14:54

Tags