微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux-Shell脚本-查找今天修改的文件,创建目录,并将其移动到那里

我想知道是否有一种简单明了的编写Shell脚本的方法,该脚本会经过一系列目录(即,一个班级的每个学生一个),确定该目录中是否有任何文件修改过最后一天,只有在这种情况下,脚本才会创建一个子目录并将文件复制到那里.因此,如果该目录在最近24小时内未修改任何文件,则将保持不变.我最初的想法是:

#!/bin/sh
cd /path/people/ #this directory has multiple subdirectories

for i in `ls`
do
   if find ./$i -mtime -1  -type f  then 
     mkdir ./$i/updated_files
     #code to copy the files to the newly created directory
   fi
done

但是,这似乎会为所有子目录创建/ updated_files,而不仅仅是最近修改文件的目录.

解决方法:

大量使用find可能会使您的工作容易得多.就像是

find /path/people -mtime -1 -type f -printf "mkdir --parents %h/updated_files\n" | sort | uniq | sh 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐