Linux 基础教程

Linux 参考手册

Linux 笔记

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/linux-loop-through-a-date-range-in-shell-script.html

bash 或 shell 通过 date 命令遍历一个日期范围的用法

Linux date 命令详解 Linux date 命令详解


一般 t+1 的离线任务中,往往需要遍历一定时间范围内日期,然后将每天的日期作为参数或条件进行下一步操作,主要用 date 命令指定特定格式及日期增减量的描述,而且在 linux 和 mac 系统上参数略有不同。

linux 平台下

数值范围用 {start ... end} 的格式,假设昨天到 7 天前日期遍历,具体示例代码如下:

for i in {1..7}
do
    day=`date +%Y%m%d -d "-$i days"`
    echo $day
done

mac 平台下

date 命令的增减量表示与 linux 平台有所不同,上述 case 的 mac 示例如下:

#! /bash/sh
for i in {1..7}
do
    day=`date -v -"$i"d +%Y%m%d`
    echo $day
done

 

在类 Linux 下,写脚本任务经常需要通过 bash shell 循环执行固定次数或在指定数字范围,可以通过 for ... in ... ...
Linux 或 Mac OS 可以利用 date 命令在 shell 或 bash 下获取昨天日期,主要利用 -d 选项结合日期增减文案描述 ...
我们经常在离线任务中,用到基于输入的日期参数,计算指定日期范围内的相关数据统计,如统计从昨天算起近 30 天每天的统计数据,这里列出 pyt ...
Linux 的 date 命令用来显示或设置系统的时间和日期。它主要用于通过时间日期格式化的转换,为一些脚本任务提供时间日期的数据。 ...
Calendar导入需要的类和包:创建Calendar实例,并设置日期:示例代码:###方法二:使用java.LocalDate(使用Jod ...