如何recursion更改文件夹时间戳?

我想知道是否有人知道如何根据该文件夹中的文件的最新时间戳recursion地更改文件夹的时间戳。

举个例子:

 jon @ UbuntuPanther:/ media / media / MP3s / Foo Fighters /(1997-05-20)The Color and The Shape $ ls -alF
总计55220
 drwxr-xr-x 2 jon jon 4096 2010-08-30 12:34 ./
 drwxr-xr-x 11 jon jon 4096 2010-08-30 12:34 ../
 -rw-r  -  r-- 1 jon jon 1694044 2010-04-18 00:51 Foo Fighters  -  Doll.mp3
 -rw-r  -  r-- 1 jon jon 3151170 2010-04-18 00:51 Foo Fighters  -  Enough Space.mp3
 -rw-r  -  r-- 1 jon jon 5004289 2010-04-18 00:52 Foo Fighters  -  Everlong.mp3
 -rw-r  -  r-- 1 jon jon 5803125 2010-04-18 00:51 Foo Fighters  -  February Stars.mp3
 -rw-r  -  r-- 1 jon jon 4994903 2010-04-18 00:51 Foo Fighters  - 嘿,Johnny Park!.mp3
 -rw-r  -  r-- 1 jon jon 4649556 2010-04-18 00:52 Foo Fighters  -  Monkey Wrench.mp3
 -rw-r  -  r-- 1 jon jon 5216923 2010-04-18 00:51 Foo Fighters  -  My Hero.mp3
 -rw-r  -  r-- 1 jon jon 4294291 2010-04-18 00:52 Foo Fighters  -  My Poor Brain.mp3
 -rw-r  -  r-- 1 jon jon 6778011 2010-04-18 00:52 Foo Fighters  -  New Way Home.mp3
 -rw-r  -  r-- 1 jon jon 2956287 2010-04-18 00:51 Foo Fighters  -  See You.mp3
 -rw-r  -  r-- 1 jon jon 2730072 2010-04-18 00:51 Foo Fighters  -  Up in Arms.mp3
 -rw-r  -  r-- 1 jon jon 6086821 2010-04-18 00:51 Foo Fighters  -  Walking You.mp3
 -rw-r  -  r-- 1 jon jon 3033660 2010-04-18 00:52 Foo Fighters  -  Wind Up.mp3

文件夹“(1997-05-20)颜色和形状”将其时间戳设置为2010-04-18 00:52。

提前致谢!

使用TOUCH您可以更改文件夹或文件时间戳:

 touch -t 1004180052 folder #(YYMMDDhhmm) 

你可能想知道的选项:

 -r, --reference=FILE use this file's times instead of current time -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time 

使用-r你可以指定一个文件来获得时间戳,或者你可以使用-t自己设置它。

如果你运行它在目录中的所有文件,并使用最后更新的文件更新您的文件夹ls将是一个更好的select:

 touch -r "`ls -1tA /path/to/folder | head -n 1`" /path/to/folder 

在我看来,你需要做一个脚本(shell或Perl或其他,但我个人会使用Perl)来parsing一个ls -laF命令的输出,然后调用一个触摸命令。 在伪代码中,看起来像这样松散:

 while (`ls -laF $folder`) { $tmp = echo $_ | awk '{print $6 $7}' if $tmp > $date { $date = $tmp} } touch $date $folder 

再次,这是伪代码。 它的目的是展示我想在5分钟内的想法。 不要指望上面的代码和你最终生成的代码相似。

希望有所帮助。