zky8811555
2016-06-13 02:09
采纳率: 50%
浏览 1.8k
已采纳

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

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

    本人shell是个初学的新手,求各位赐教,谢谢!
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • D_FallMoon 2016-06-13 03:21
    已采纳

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

                        echo $filename
                fi
    

    done

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • zky8811555 2016-06-13 03:36

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

    评论
    解决 无用
    打赏 举报
  • D_FallMoon 2016-06-16 01:48

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

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题