我想在一个非常大的文件夹上运行一个命令,根据修改日期将每个项目排序到子文件夹中。这可以用一行代码完成吗?
即,2013 年 7 月修改的所有文件都将被移至2013-07
等。
某些内容find
...解析年份/月份,然后移动到匹配的文件夹。
man
Mac 的页面在find
这里:https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/find.1.html
答案1
我找到了答案这里...并根据我的需要进行了修改:
for f in 12*; do
dir='/foo/bar/'$(stat -f%Sm -t%Y-%m "$f")
[ -d "$dir" ] || mkdir "$dir"
mv -nv "$f" "$dir"/
done
您可以使用以下任意一项m
替换:-f%Sm
a、m、c、b
- 上次文件时间A访问或米修改,inode 最后一次被修改的时间C绞刑,或乙该 inode 的第 ir 次。