我有一个小脚本,我将循环通过ftp,如果它找到一个比2小时更早的文件将执行命令,这个循环还有另一个条件,我不需要帮助。我只需要帮助找到超过n分钟的文件。这就是我所拥有的
for file in $(ls); do
if [ $file is older than 2 hours ] && [ another condition ]; then
#execute a command
fi
done
答案 0 :(得分:1)
我不知道你的其他条件是什么,但是在一定年龄内找到文件的一种非常简单的方法是
find . -mmin +120 | xargs your_command
答案 1 :(得分:0)
一个简单的解决方法:
find $(ls) -amin +120 -exec some command here \;
我用这个来处理FTP服务器上超过几分钟的文件,所以我不会读取部分文件。
你可以找到"对于其他选项,由于amin的访问时间超过了n分钟,因此还有超过n分钟前修改的mmin,以及许多很多其他选项。
注意:要在-exec中引用找到的文件路径,请替换为{}
例如,如果要附加.found:
的文件find /tmp/targets/ -amin 120 -exec mv {} {}.found \;
这将重命名/ tmp / targets /中的所有文件,并在末尾附加.found。注意\;用于转义-exec命令。如果你只是用;然后-exec不会被关闭,你会收到一个错误。你可以用多个命令串起来;在使用\;
关闭逃生之前