首先创建一个临时的目录:
mkdir tempformv
使用stat,cut和mkdir创建以月份为名的文件夹
$stat -c "%y" * | cut -b1-7 | sort | uniq | while read line ;do mkdir tempformv/$line; done
$ls tempformv/
2010-05 2020-05
生成要执行的命令
$ stat -c 'TT="%y";FN="%n"' * | grep -v tempformv | while read line; do eval "$line"; echo "mv \"${FN}\" \"tempformv/${TT:0:7}/\""; done > tempformv/mvops.sh
检查一下生成的命令
cat tempformv/mvops.sh
无误后,执行命令
chmod +x tempformv/mvops.sh
tempformv/mvops.sh
把文件从temp目录移回来
mv tempformv/* .
完成
本文介绍了一种使用shell脚本批量将文件按其修改日期的月份进行归档的方法。通过创建临时目录,利用stat、cut、sort、uniq等命令生成以月份命名的文件夹,并自动构建用于移动文件的脚本,最后执行脚本完成文件归档。
7049

被折叠的 条评论
为什么被折叠?



