我是shell scrip编程的新手,目前在数组和查找多个文件方面遇到了问题。这是我的代码:
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进行比较?
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--全职:以完整格式提供日期列表
tr-s">:压缩的额外空间
cut-f6-d">:获取第6列值,即修改日期。
排序&uniq:对记录进行排序,得到uniq值
awk'BEGIN{"date+%Y-%m-%d"|getline today}length>1&$0!~today':检查是否为空或当前日期存在,然后写入文件