求解shell问题 判断目录下的文件的修改时间与文件后缀名,并获取文件名

求解shell问题 判断目录下的文件的修改时间与文件后缀名,并获取文件名

问题描述:

我的需求是:
    1.判断指定目录及其子目录下的所有文件的修改时间与系统时间相比是否超过2天。
    2.如果超过2天则判断文件的后缀名
    3.如果后缀名不为 bak ,则获取该文件的文件名并输出到控制台。

    本人shell是个初学的新手,求各位赐教,谢谢!

cd /home
for i in find ./ -mtime +2
do
if [ "${file##*.}"x != "bak"x ];then

                    echo $filename
            fi

done

for 的那个i 是怎么一回事呢?似乎下面并没有用到啊?

for in 语句 那个i就是in后面的变量,有时候写了不一定用的上。