If I want to find the latest file (mtime) in a (big) directory containing subdirectories, how would I do it?
Lots of posts I've found suggest some variation of ls -lt | head
(amusingly, many suggest ls -ltr | tail
which is the same but less efficient) which is fine unless you have subdirectories (I do).
Then again, you could
find . -type f -exec ls -lt {} + | head
which will definitely do the trick for as many files as can be specified by one command, i.e. if you have a big directory, -exec...+
will issue separate commands; therefore each group will be sorted by ls
within itself but not over the total set; the head will therefore pick up the lastest entry of the first batch.
Any answers?