Como posso ordenar a produção de 'ls' pela última data modificada?
Como posso ordenar a produção de ls
pela última data modificada?
find . -type f -mmin -5 -print0 | xargs -0 /bin/ls -tr
find . -type f -mmin -5 -print0 | xargs -0 /bin/ls -ltr
para procurar recursivamente sobre quais ficheiros foram modificados nos últimos 5 minutos.
… ou agora, com a versão recente de GNU find:
find . -type f -mmin -5 -exec ls -ltr {} +
… e mesmo para não se limitar a ficheiros:
find . -mmin -5 -exec ls -ltrd {} +
(note o -d
mudar para ls
por não mostrar o conteúdo dos directórios)
Dê uma vista de olhos em my anser to find and sort by date modified
Para não ignorar as entradas a partir de .
e classificar por data (o mais recente primeiro):
ls -at
Para não ignorar as entradas a partir de .
e classificar por data (o mais antigo primeiro):
ls -art
Para não ignorar as entradas a partir de .
, utilize um formato de listagem longa e classificar por data (o mais recente primeiro):
ls -alt
Para imprimir tamanhos legíveis para humanos, não ignore as entradas que começam com .
, utilize um formato de listagem longa e classificar por data (o mais recente primeiro) (@EvgeniSergeev note):
ls -halt
mas cautele-se com o último , pois um simples erro de tipo pode causar uma falha do servidor. .. (@Isaac nota)
Para mostrar os 10 mais recentes classificados por data, uso algo como isto:
ls -t ~/Downloads | head -10
ou para mostrar os mais antigos
ls -tr ~/Downloads | tail -10
Usando apenas comandos Unix muito básicos:
ls -nl | sort -k 8,8n -k 6,6M
Isto funcionou no Linux; a coluna 8 é “n” (numérica), a coluna 6 é “M”, mês.
Eu sou novo no sort
, por isso esta resposta poderia provavelmente ser melhorada. Para não mencionar que precisa de opções adicionais ao ls
e ao sort
para usar carimbos de data e hora exactos, mas nem todos vão precisar disto.
Uma forma possível de mostrar, por exemplo, os últimos 10 ficheiros modificados é seguindo o comando:
ls -lrth | tail -n 10
Descrição do comando acima:
ls - list
argumentos:
l - long
r - reverse
t - sort by time
h - human readable
depois é encaminhado para o comando tail
, que mostra apenas 10 linhas recentes, definidas pelo parâmetro n* (número de linhas)…