Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I'm looking for a single command to list all files recursively from a given directory along with its modified time. It would also be nice if it can produce output in a tree-like format as produced by tree command.

NOTE: I'm running Red Hat Enterprise Linux Server release 5.

EDIT: The option -D of tree command prints only the date part of the last modification time for past years, though it display date with time for current year. Here, in this case, I'm expecting to print date with time for past years as well.

share|improve this question
    
You want to show in seconds? –  quanta Oct 10 '11 at 9:21
    
@quanta: In my case, precision upto minutes is enough. –  Gnanam Oct 10 '11 at 9:35

3 Answers 3

up vote 1 down vote accepted

I'm looking for a single command to list all files recursively from a given directory along with its modified time.

$ find /path/to/folder -type f -print0 | xargs -0 ls -l --time-style="+%F %T"

It would also be nice if it can produce output in a tree-like format as produced by tree command. In my case, precision upto minutes is enough.

On my CentOS, Gentoo, ... -D option is already showed in minutes:

$ tree -D
.
├── [Jul 26 14:41]  LICENSE
├── [Jul 26 14:41]  manifests
│   ├── [Oct 10 16:30]  defines
│   │   └── [Jul 26 14:41]  redis source.pp
│   └── [Jul 26 14:41]  init.pp
├── [Jul 26 14:41]  README
└── [Jul 26 14:41]  templates
    ├── [Jul 26 14:41]  redis.conf.erb
    └── [Jul 26 14:41]  redis-server.erb

3 directories, 6 files
share|improve this answer
    
Yes, you're right. Just now I'm also discovering that if the modified date is not a current year, then it is showing only date part without timestamp, as Mon dd yyyy. –  Gnanam Oct 10 '11 at 9:45
    
Any ideas to make it to display date with time for past years in tree-format style? –  Gnanam Oct 10 '11 at 10:26
    
AFAIK, there is no way but edit source code and recompile the tree command. –  quanta Oct 10 '11 at 10:35
    
Though there is no complete answer/solution provided here, atleast the syntax find /path/to/folder ... was helpful. Thus accepting this as answer. –  Gnanam Oct 12 '11 at 11:55

This command lists recursively all files in a given directory with their full modification time:

ls -Rl --time-style=long-iso /path/to/directory

There's no tree-like output in ls but this is pretty close.

share|improve this answer

perhaps this could be a starting point for your solution:

\tree -nf  | awk '{printf $0} {system("stat -c \" [ %y ]\" " $NF )}'| sed -e 's#\([0-9][0-9]:[0-9][0-9]:[0-9][0-9]\).*#\1 ]#g'  2>/dev/null
share|improve this answer

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.