Consulta para exibir arquivos UNIX criados em um timestamp específico

1

Desejo listar todos os arquivos que foram criados em um determinado momento.

(Por ex: arquivos criados a tempo: 13 de novembro 09:09)

-rw-r--r-- 1 bitt1 cerillio     43268 Nov 13 09:02 sendEsbUpdateEvents.log
-rw-r--r-- 1 bitt1 cerillio    333420 Nov 13 09:09 jobwatch_bittest1.log
-rw-r--r-- 1 bitt1 cerillio   6113535 Nov 13 09:09 CDRExtract.log
-rw-r--r-- 1 bitt1 cerillio     10268 Nov 13 09:09 cdrextract_111309095100_26224.log
-rw-r--r-- 1 bitt1 cerillio 322398684 Nov 13 09:10 export_docs_log.log
-rw-r--r-- 1 bitt1 cerillio   2911940 Nov 13 09:14 sendBillNotifications.log

Então, deixe-me saber consulta simples do forro, se houver.

    
por Ravi Kumar 13.11.2014 / 10:20

1 resposta

1

Com GNU ou FreeBSD find :

find . -newermt '2014-11-13 9:09' ! -newermt '2014-11-13 9:10'

Note que ele reportará um arquivo modificado pela última vez às 9: 10: 00.000000000 e não um às 9: 09: 00.000000000, mas, caso contrário, deverá estar OK para os outros 60.000.000.000 nanosegundos entre eles.

Com o GNU find , supondo que os nomes de arquivos e diretórios não contenham caracteres de nova linha, você também pode fazer:

find . -printf '%T+/%p\n' | grep -Po '^2014-11-13\+09:09.*?/\K.*'

(ou se eles puderem conter caracteres de nova linha:

find . -printf '%T+/%p
find . -newermt '2014-11-13 9:09' ! -newermt '2014-11-13 9:10'
' | grep -Pzo '^2014-11-13\+09:09.*?/\K.*' | tr \0 \n
    
por 13.11.2014 / 10:42