Obter recursivamente os 10 últimos arquivos alterados de um diretório no Linux

image_pdfimage_print

Todos sabemos que o Linux é muito poderoso. E nesta breve dica, iremos mostrar este poder utilizando shell script para encontrar os 10 últimos arquivos alterados de um dado diretório e de todos os seus sub-diretórios.

Facilmente este script pode ser alterado para mostra a lista recursiva de todos os arquivos alterados em ordem decrescente, assim como para mostrar o último arquivo alterado, os X últimos alterados e por ai vai. Basta um pouco de imaginação e muitas coisas são possíveis com a derivação deste shell script.

Abaixo o código que retornar os 10 últimos arquivos modificados de um diretório e seus subdiretórios.

# Código com suporte a arquivos com espaço no nome
find . -type f -print0 | xargs -0 stat --format '%Y :%y %n' | sort -nr | cut -d: -f2- | head

# Código sem suporte a arquivos com espaço no nome
find . -type f | xargs stat --format '%Y :%y %n' | sort -nr | cut -d: -f2- | head

E terá um retorno parecido com:

2013-09-24 00:01:14.475734184 -0300 ./DIRETORIO/NOME_ARQUIVO
2013-09-24 00:00:02.379734888 -0300 ./NOME_ARQUIVO
2013-09-23 23:57:01.907734887 -0300 ./DIRETORIO/DIRETORIO/NOME_ARQUIVO
2013-09-23 23:56:02.047734894 -0300 ./NOME_ARQUIVO
2013-09-23 22:25:55.159734942 -0300 ./NOME_ARQUIVO
2013-09-23 22:24:26.559735037 -0300 ./NOME_ARQUIVO
2013-09-23 20:18:27.875734780 -0300 ./NOME_ARQUIVO
2013-09-23 20:16:45.831734787 -0300 ./NOME_ARQUIVO
2013-09-23 20:14:19.211731816 -0300 ./NOME_ARQUIVO
2013-09-23 20:13:14.703729129 -0300 ./NOME_ARQUIVO

(2016.10.21) Artigo modificado para adicionar nova linha de comando com suporte a arquivos com espaço no nome.

Gostou? Tire um minutinho e dê sua contribuição para Drall Dev Community no Patreon!