在批处理中更改具有旧日期的日期目录

时间:2014-11-05 22:16:23

标签: linux bash directory touch

我最近按主题将一堆文件分类到目录中。我正在尝试将目录的日期更改为与目录中最新文件的修改时间相同。我有一个脚本,我认为应该工作,但事实并非如此。

for DIRECTORY in * ; do FILE=`ls -1 --sort=time "$DIRECTORY" | tail -n 1` ; DATE=`stat -c %y "$DIRECTORY/$FILE" | tr '.' ' ' | awk '{print $1,$2}' ` ; echo $DATE $DIRECTORY ; touch -m -d "$DATE" "$DIRECTORY" ; done

它似乎应该有效,但事实并非如此。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

只需运行此命令:

latestFile=$(ls -1t | sed q)
for i in *; do touch -r "$latestFile"; done

!该命令与带空格的文件不兼容!