Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

The linux locate command is great at finding files quicky.

My question: how can we use the locate command so that the results are returned in date/time order?

share|improve this question
add comment

2 Answers 2

How about:

ls -td $(locate something)

or

ls -td1 $(locate something)
share|improve this answer
    
Maybe a -d would be handy, too. –  choroba Aug 27 '12 at 11:47
    
@choroba: good point, I'll update the answer. –  RedGrittyBrick Aug 27 '12 at 11:49
add comment

This works as long as there are not spaces in the filenames, but errors if there are too many files (see http://www.gnu.org/software/coreutils/faq/#Argument-list-too-long):

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

This will work even with spaces or other characters in filenames, but doesn't sort correctly with too many files:

locate something -0 | xargs -0 ls -ltd

The following will always work (although it might take awhile):

locate something -0 | xargs -0 stat -c'%Y %n' | sort -n
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.