当日期是变量时,如何在linux shell中增加日期
我需要将日期变量不断递增15分钟。 此脚本递增当前日期当日期是变量时,如何在linux shell中增加日期,shell,date,Shell,Date,我需要将日期变量不断递增15分钟。 此脚本递增当前日期 #!/bin/bash for i in {0,15,30,45} do date --date='+'$i' minutes' +"%Y%m%d%H%M%S" echo "$date" done 但我需要将初始日期设置为一年前,并在一年内不断递增。 是否可以创建datetime变量并在循环中不断向其添加分钟数 我需要这个来下载名为20190101231500.csv的文件,每个文件名都有一个15分钟后的时间戳 谢谢大家! 只需对
#!/bin/bash
for i in {0,15,30,45}
do
date --date='+'$i' minutes' +"%Y%m%d%H%M%S"
echo "$date"
done
但我需要将初始日期设置为一年前,并在一年内不断递增。
是否可以创建datetime变量并在循环中不断向其添加分钟数
我需要这个来下载名为20190101231500.csv的文件,每个文件名都有一个15分钟后的时间戳
谢谢大家! 只需对代码进行最小更改:
#!/bin/sh
for i in {0,15,30,45}
do
date --date="-$i minutes ago" +"%Y%m%d%H%M%S"
echo "$date"
done`
您可以使用
X个月/天/年/分钟前
和--date
选项从当前日期中减去。使用负数向前移动。代码更改最少:
#!/bin/sh
for i in {0,15,30,45}
do
date --date="-$i minutes ago" +"%Y%m%d%H%M%S"
echo "$date"
done`
您可以使用X个月/天/年/分钟前
和--date
选项从当前日期中减去。使用负数向前移动。使用日期--date
计算大量日期将变得非常缓慢
# With date calculations (too) slow, only done for 10 days
d="2015-01-01"
((maxminutes=24*60))
while [ "$d" != "2015-01-10" ]; do
d=$(date -I -d "$d + 1 day")
for ((m=0; m<${maxminutes};m+=15)); do
date -d "${d} + ${m} minutes" +"%Y%m%d%H%M"
done
done
#日期计算(太)慢,只能进行10天
d=“2015-01-01”
((最大分钟数=24*60))
而[“$d”!=“2015-01-10”];做
d=$(日期-I-d“$d+1天”)
对于((m=0;m使用date--date
计算大量日期将变得非常缓慢
# With date calculations (too) slow, only done for 10 days
d="2015-01-01"
((maxminutes=24*60))
while [ "$d" != "2015-01-10" ]; do
d=$(date -I -d "$d + 1 day")
for ((m=0; m<${maxminutes};m+=15)); do
date -d "${d} + ${m} minutes" +"%Y%m%d%H%M"
done
done
#日期计算(太)慢,只能进行10天
d=“2015-01-01”
((最大分钟数=24*60))
而[“$d”!=“2015-01-10”];则
d=$(日期-I-d“$d+1天”)
对于((m=0;mThank you Walter!我选择第一个解决方案,尽管我也喜欢第二个。除了日期之外,还可以指定时间开始和时间结束,这对我来说很好,但对我来说并不重要。我不理解您的时间开始愿望(只需添加一个调用date
?).您知道特殊变量SECONDS吗?请尝试:echo“${SECONDS}”;sleep 14;echo“${SECONDS}”
?或者使用time命令,如time while…done>/dev/null
和time awk…}>/dev/null
并查看差异!解决方案工作时:谢谢你,Walter!我选择第一个解决方案,尽管我也喜欢第二个。除了日期之外,还可以指定时间开始和时间结束,这会很好,但是对我来说不重要。我不理解您的时间开始愿望(只需添加对date
?)的调用。您知道特殊变量SECONDS吗?请尝试:echo“${SECONDS}”;sleep 14;echo“${SECONDS}”
?或使用time命令,如time while….done>/dev/null
和time awk…}>/dev/null
查看差异!解决方案工作时: