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

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

我想知道是否有一个简单而简洁的方法来编写一个shell脚本,它将通过一系列的目录(例如,一个class级中的每个学生),确定是否在该目录中有任何文件修改最后一天,只有在这种情况下,脚本才会创build一个子目录并在那里复制文件。 所以,如果目录在过去的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

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

什么文件系统允许重新定位文件的开始?

在Linux上创buildprimefaces文件

FindFirstFile和“。”/“..”logging属性

未能修改NTFS的主文件表(MFT)中的文件logging

最好的文件系统使用Nginx服务1GB文件,在中等写入,阅读性能明智?

find更重使用可能会使您的工作更容易。 就像是

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

问题是,你假设find命令将失败,如果它找不到任何东西。 退出代码是零(成功),即使它找不到任何匹配。

就像是

UPDATEDFILES=`find ./$i -mtime -1 -type f` [ -z "$UPDATEDFILES" ] && continue mkdir ... cp ... ...

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

相关推荐