Sintaxe alternativa para encontrar arquivos por data com o comando find

Publicado por Fábio Berbert de Paula em 26/05/2022

[ Hits: 492 ]

Blog: https://youtube.com/c/cotidianohackeado

 


Sintaxe alternativa para encontrar arquivos por data com o comando find



Documentando esta sintaxe porque é muito útil pra mim e com certeza voltarei aqui para consultá-la futuramente. Trata-se de uma forma de imprimir a lista de arquivos de determinado diretório mostrando a data em formato universal, tornando assim fácil filtrar arquivos modificados em determinada data.

Para listar todos os arquivos de um diretório ordenados por data de forma crescente:

find -printf "%TY-%Tm-%Td %TT %p " | sort -n

Exemplo de saída:

2018-06-24 17:15:15.0314690000 ./mysql/roles_mapping.MYD
2018-06-24 17:15:15.0314690000 ./mysql/roles_mapping.MYI
2018-06-24 17:15:15.0314690000 ./mysql/roles_mapping.frm
2018-06-24 17:15:15.0394686640 ./mysql/servers.MYD
2018-06-24 17:15:15.0394686640 ./mysql/servers.MYI


A formatação de string presente no printf está bem autoexplicativa. Me aterei a dizer que o "%p" significa o nome do arquivo. O comando "sort -n" ordena os valores de forma numérica (-n).

Para inverter a ordenação, basta trocar "sort -n" por "sort -nr" (-r = reverse):

find -printf "%TY-%Tm-%Td %TT %p " | sort -nr

2022-05-24 15:58:53.3612653160 ./ibdata1
2022-05-24 15:58:53.3532653450 ./ib_logfile0
2022-05-24 15:58:52.3452689620 ./aria_log_control
2022-05-24 15:58:52.3452689620 ./aria_log.00000001
2022-05-24 15:58:52.3372689910 ./mysql/slow_log.CSM
2022-05-24 15:58:52.3332690060 ./mysql/general_log.CSM


Desse jeito fica bem fácil encontrar um arquivo que foi modificado, digamos, no dia 01/01/2022:

find -printf "%TY-%Tm-%Td %TT %p " | grep '2022-01-01'

O comando "find" por padrão é recursivo. Se quiser executar esse comando somente no diretório corrente, sem entrar nos subdiretórios, acrescente o parâmetro "-maxdepth 1". Exemplo:

find -printf "%TY-%Tm-%Td %TT %p " -maxdepth 1

Até a próxima!

Outras dicas deste autor

Manipulando data e hora em Python com timedelta

Substituindo o sleep por um belo cronômetro regressivo

Como pegar o hostname usando Python

Como instalar Webmin no Debian/Ubuntu e derivados

Como limpar o cache DNS no Google Chrome

Leitura recomendada

Samba - Carregar wallpaper nas estações Windows durante logon

Mantenha o "ls" sempre colorido

Recuperando inicialização do Slackware após atualização do kernel via slackpkg

Calculadora para modo texto

GhostScript - Reduzindo o tamanho de arquivos PDF pelo terminal

  

Comentários
[1] Comentário enviado por leoCCB em 28/05/2022 - 01:05h


continua postando... essas dicas aí sempre me ajudam de find e com regex sempre ajudam muito!!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts