shell遍历目录下的文件和日期比较
遍历文件夹
#! /bin/bash
function read_dir() {
#注意此处这是两个反引号,表示运行系统命令
for file in `ls $1`
do
if [ -d $1"/"$file ]
then
read_dir $1"/"$file
else
echo $1"/"$file #在此处处理文件即可
fi
done
}
#读取第一个参数
read_dir $1
日期时间比较
在Shell中我们可以利用date命令比较两个日期的大小,方法是先把日期转换成时间戳格式,再进行比较。
date 的+%s可以将日期转换成时间戳格式,看下面的例子:
#!/bin/bash
date1="2020-11-29 12:00:00"
date2="2020-12-01 15:00:00"
t1=`date -d "$date1" +%s`
t2=`date -d "$date2" +%s`
if [ $t1 -gt $t2 ]; then
echo "$date1 > $date2"
elif [ $t1 -eq $t2 ]; then
echo "$date1 == $date2"
else
echo "$date1 < $date2"
fi