我想知道是否有人知道如何基于在该文件夹中找到的文件的最新时间戳来递归更改文件夹的时间戳。
因此,例如:
jon @ UbuntuPanther:/ media / media / MP3s / Foo Fighters /(1997-05-20)颜色和形状$ 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-足够的Space.mp3 -rw-r--r-- 1 jon jon 5004289 2010-04-18 00:52 Foo Fighters- Everlong.mp3 -rw-r--r-- 1乔恩·乔恩5803125 2010-04-18 00:51 Foo Fighters-February Stars.mp3 -rw-r--r-- 1乔恩·乔恩4994903 2010-04-18 00 :51 Foo Fighters-Hey,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 After 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 -r
而不是当前时间(或touch --reference=FILE
)来使用其他文件的时间戳。
这是两个解决方案。在每种解决方案中,第一个命令将目录的修改时间更改为其下一个最新文件的修改时间,第二个命令以递归方式查看整个目录树。cd '.../(1997-05-20) The Colour and The Shape'
运行任何命令之前,请转到目录()。
在zsh中(删除D
忽略点文件):
touch -r *(Dom[1]) .
touch -r **/*(Dom[1]) .
在Linux上(或更常见的情况是使用GNU查找):
touch -r "$(find -mindepth 1 -maxdepth 1 -printf '%T+=%p\n' |
sort |tail -n 1 | cut -d= -f2-)" .
touch -r "$(find -mindepth 1 -printf '%T+=%p\n' |
sort |tail -n 1 | cut -d= -f2-)" .
但是请注意,这些文件假定文件名中没有换行符。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句