今天去参加了个面试,面试官问了一个SHELL编程的问题,没回答上来。现在回想起来真是弱爆了...
问题:寻找一个特定目录下的修改日期在某个时间后的文件,找到后打印该文件。
分析:实际就是需要遍历一个目录下的所有文件,并且拿到这些文件的最后修改时间。
实现:
#!/bin/bashfunction 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