利用shell脚本遍历某个目录下的所有文件

时间:2023-01-23 19:30:58

今天去参加了个面试,面试官问了一个SHELL编程的问题,没回答上来。现在回想起来真是弱爆了...


问题:寻找一个特定目录下的修改日期在某个时间后的文件,找到后打印该文件。

分析:实际就是需要遍历一个目录下的所有文件,并且拿到这些文件的最后修改时间。

实现:

#!/bin/bash  
function ergodic(){  
    for file in ` ls $1 `  
    do  
        if [ -d $1"/"$file ]  
        then  
             ergodic $1"/"$file  
        else  
             file_date_str=`ls -l $1"/"$file | cut -d' ' -f6-8`
             file_date_num=`date +%Y%m%d -d "$file_date_str"`
             if [$file_date_num > 20141201];then
                echo $1"/"$file
             fi
        fi  
    done  
}  
INIT_PATH="/home/zhenghaicheng/rebranding"  

ergodic $INIT_PATH