gpt4 book ai didi

linux - Shell 脚本输出日期之间的整个间隔

转载 作者:太空宇宙 更新时间:2023-11-04 10:41:21 27 4
gpt4 key购买 nike

我使用的设备需要接收格式化为文本文件的时间指令,以便在基于小时的时间范围内制作备份副本。它有 4 个 channel ,所以我仍然需要标记 channel 。格式为 MMDDhhmmYYYY;C(其中 MM=月,DD=日,hh=24 小时制,mm=分钟,YYYY=年,C= channel 号)

假设我需要为 channel 1 和 channel 2 指定 2016 年 1 月 25 日 14:00 和 2016 年 1 月 25 日 16:00 之间的 2 小时间隔,我需要在文本文件中放置 4 行。

012514002016;1
012514002016;2
012515002016;1
012515002016;2

对于小查询手动执行此操作没问题,但对于 4 个 channel 的一整天,我必须写 96 行。我愿意制作一些脚本来指定开始日期和时间、结束日期和时间以及要请求的 channel ,然后将输出打印到所需格式的文本文件中,但我什至不知道从哪里开始。我看到很多脚本可以计算日期之间的间隔,但实际上没有显示间隔。客户端环境有限,但至少是bash 4.0

最佳答案

好吧,这是一个开始。这只会增加小时数,不会将小时数增加到天数,或者从分钟数增加到小时数,或者实际上任何东西。

#!/bin/sh

MM=$1
dd=$2
hh=$3
mm=$4
yyyy=$5

h2=$6

ni=$7

while [ $ni -gt 0 ]; do
for i in 1 2 3 4; do
printf '%02d%02d%02d%02d%04d;%d\n' $MM $dd $hh $mm $yyyy $i
done
hh=$(($hh + $h2))
ni=$(($ni - 1))
done

所以在一天内做 12 个 2 小时的增量:

$ sh interval 01 25 14 00 2016 2 12

关于linux - Shell 脚本输出日期之间的整个间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35003129/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com