【发布时间】:2020-09-25 14:55:12
【问题描述】:
我的目录中有如下格式的文件。
$today 和 $yesterday 是两个变量,分别保存今天的日期和昨天的日期,两者都将保存日期,如下面的结构所示。
今天=$(日期 +"%Y-%m-%d")
昨天=$(date -d "昨天 13:00" '+%Y-%m-%d')
example-$today.txt
polar-$today.txt
example-$yesteday.txt
polar-$yesteday.txt
昨天的例子:example-2020-09-24.txt
今天的例子:example-2020-09-25.txt
文件是使用 cronjob 每天创建的,所以下面的结构中会有明天日期的文件。
example-$tomorrow.txt
polar-$tomorrow.txt
我想比较在不同日期以相同名称开头的文件,如果有差异,则执行 python 脚本。如果有差异,python 脚本将今天的文件作为第一个参数。
if diff example-$today.txt example-$yesteday.txt
then
echo "No difference"
else
python script.py example-$today.txt
fi
如果我只有 2 或 3 个文件,我可以使用上面提到的使用 diff 的每个文件的 if else 代码,但列表将在未来填充更多唯一名称,并且编写 if 命令很乏味。
要求:
比较昨天和今天目录下所有同名文件名的txt文件,如果有差异则执行python脚本。
【问题讨论】:
-
缺一天怎么办?你想让脚本做什么?如果缺少 02,则将 2020-01-01 与 2020-01-03 进行比较,或者什么都不做?
-
请写一个确切的文件名示例。是 example-2020-01-01.txt 吗?还有什么?
-
@thanasisp 我已经用确切的文件名示例更新了问题
-
nice,请查看第一条评论,如果发现差距怎么办?
-
我想比较 2020-01-01 和 2020-01-02 ,肯定会有 2020-01-02 。每天都会创建文件,不会缺少日期。