Quero encontrar arquivos em subdiretórios classificados por carimbo de data / hora (da criação), com os mais recentes primeiro.
Eu olhei para a página de manual, mas parece apenas permitir que você filtre por carimbo de data e hora em vez de classificar por carimbo de data e hora.
Que opções posso passar find
para fazer isso? Como alternativa, como posso combiná-lo com outra ferramenta, como sort
classificar por carimbo de data / hora?
find
fazer nada em uma ordem classificada específica, além de escolher entre uma pesquisa profunda e uma primeira.find
que podem ser passados para uma única instância dels
.Respostas:
Embora a solução de Paul seja geralmente boa, ela envolve mais E / S do que simplesmente:
fonte
find
retornar milhões de arquivos? A classificação não vai classificar todos eles como uma lista muito longa? Ainda será eficiente? (Em vez de classificar cada diretório independente.)find bin/ -type f -printf '%Ts\t%p\0' | sort -nrz | cut -f2 -z | xargs -0 ls
Novas versõescut
têm a opção -z, portanto, os nomes de arquivos com novas linhas funcionariam.xargs -0 ls -t
abordagem não funcionará corretamente quando houver tantos arquivos quexargs
precisam iniciarls
mais de uma vez, mas essa abordagem continuará funcionando.-maxdepth 1
nofind
).