Sintaxe alternativa para encontrar arquivos por data com o comando find

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

[ Hits: 2.905 ]

Blog: https://fabio.automatizando.dev

 


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

Controlar multimídia via linha de comando (Spotify, Netflix, YouTube etc)

Como fazer o editor Vim mostrar/ocultar os números das linhas

Como navegar sem cache no Chrome e Firefox

Problema de NO_PUBKEY em repositórios Debian, Ubuntu ou Mint [Resolvido]

Auto-complete em Python no editor Vim

Leitura recomendada

Gerenciar pacotes em baixo nível no Debian

Executando proteção de tela no modo texto

Controlar multimídia via linha de comando (Spotify, Netflix, YouTube etc)

Como se tornar root no Ubuntu com 2 comandos

Scripts adduser (para criar usuários) em distros não Debian - Para iniciantes

  

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!!

[2] Comentário enviado por maurixnovatrento em 06/07/2022 - 12:09h


boa dica.

___________________________________________________________
Conhecimento não se Leva para o Túmulo.
https://github.com/mxnt10



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts