我想知道是否有人知道如何根据该文件夹中的文件的最新时间戳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分钟内的想法。 不要指望上面的代码和你最终生成的代码相似。
希望有所帮助。