如何在数组中存储多个文件的修改日期

时间:2016-06-02 16:41:22

标签: arrays bash shell ubuntu

我是shell脚本编程的新手,目前有阵列问题和查找多个文件。这是我的代码:

todate=$(date -d 2016-02-03 +"%Y%m%d")  
mod=$(date -r case +"%Y%m%d")

if [ $mod -ge $todate ]; 
then
    echo 'yes';
else
    echo 'no';
fi

在这段代码中,我找到名为case的文件的修改日期,然后将其与变量$ todate进行比较。现在我如何找到目录中所有文件的修改日期并将它们存储在一个数组中,以便将每个日期与$ todate进行比较?

1 个答案:

答案 0 :(得分:0)

  ls -l --full-time | tr -s " " | cut -f6 -d " "| sort | uniq | awk
 'BEGIN{"date +%Y-%m-%d"|getline today} length > 1 && $0 !~ today' >
 file

文件将包含日期

ls -l --full-time :以完整格式提供日期列表

tr -s" " :挤压额外的空间

cut -f6 -d" " :获取第6列值,即修改日期。

排序& uniq :对记录进行排序并获取uniq值

awk' BEGIN {" date +%Y-%m-%d" | getline today} length> 1&& $ 0!〜今天' :检查是否为空或当前日期,然后写入文件