AS400 Shell中查找超过120分钟文件的命令问题求助
在AS400 Shell中查找修改时间超过120分钟的文件
AS400(IBM i)自带的find命令不支持-mmin选项,这就是你执行该命令报错的原因。针对你的需求,最可靠的方法是利用-newer选项配合临时时间标记文件来实现:
步骤1:创建一个修改时间为120分钟前的临时文件
使用touch命令生成一个临时文件,将其修改时间设置为当前时间往前推120分钟:
touch -d "-120 minutes" /tmp/120min_mark
如果你的AS400系统不支持-d参数,可以用时间格式参数指定具体时间:
# 计算120分钟前的时间,格式为YYYYMMDDHHMM.SS touch -t $(date -d "-120 minutes" +%Y%m%d%H%M.%S) /tmp/120min_mark
步骤2:查找所有早于该临时文件的文件
使用find的! -newer选项筛选出修改时间比临时文件更早的文件(即超过120分钟未修改的文件):
find . -type f ! -newer /tmp/120min_mark
步骤3:清理临时文件
完成查找后可以删除临时文件:
rm /tmp/120min_mark
补充说明
-newer选项默认比较文件的修改时间(mtime),正好匹配你的需求;!符号表示取反,! -newer即“文件修改时间早于指定文件”;- 如果需要查找访问时间(atime)或变更时间(ctime),可以配合
-newerat或-newerct选项(部分版本支持)。
内容的提问来源于stack exchange,提问作者Boomija Varadarajan
相关产品推荐
相关产品推荐

