![](/img/trans.png)
[英]Move files to their respective folder in linux based on the date of the folder and the date of the file
[英]Find files with maxdepth 2 in Linux and move to respective folder
我有以下命令将文件从一个目录移动到另一个目录,效果很好。
find /volume1/backup/ -type f -mtime +365 -exec mv -v "{}" /usb1/backup/ \;
但是,我将/ backup中的目录结构更改为具有子目录(一个深度)。 现在,我要将这些子目录中的文件复制到/ usb1卷上的相应目录。 我已经包含了-maxdepth 2和-mindepth 2,但是我不知道下一步该怎么做...
find /volume1/backup/ -maxdepth 2 -mindepth 2 -type f -mtime +365 -exec mv -v "{}" /usb1/backup/ \;
因此,我无法找到一个简短的答案,但是以下方法为我解决了问题:
for d in $(find /volume1/backup/ -maxdepth 1 -mindepth 1 -type d)
do
for f in $(find $d -maxdepth 1 -type f -mtime +365 -print0 | sort -z | xargs -r0)
do
mv -v $f /usb1/backup/$(basename $d)/;
done
done
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.