comando de localização linux classificar por data

4

O comando linux find é ótimo para encontrar arquivos rapidamente.

Minha pergunta: como podemos usar o comando localizar para que os resultados sejam retornados em ordem de data / hora?

mcaleaa
fonte

Respostas:

5

Isso funciona desde que não haja espaços nos nomes dos arquivos, mas erros se houver muitos arquivos (consulte http://www.gnu.org/software/coreutils/faq/#Argument-list-too-long ):

$ ls -td $(locate sh)
bash: /bin/ls: Argument list too long

Isso funcionará mesmo com espaços ou outros caracteres nos nomes de arquivos, mas não será classificado corretamente com muitos arquivos:

locate something -0 | xargs -0 ls -ltd

O seguinte sempre funcionará (embora possa demorar um pouco):

locate something -0 | xargs -0 stat -c'%Y %n' | sort -n
onionjake
fonte
Canalizar para statera dez vezes mais rápido do que lspara mim, embora não mostre todas as ls -linformações, obviamente.
Sparhawk #
3

E se:

ls -td $(locate something)

ou

ls -td1 $(locate something)
RedGrittyBrick
fonte
Talvez um -dseria útil também.
choroba
@choba: bom ponto, vou atualizar a resposta.
RedGrittyBrick
11
Isso falha para arquivos com espaços em seus nomes.
Sparhawk #