bash - 循环分钟并用 bash 回显

标签 bash date

我想迭代一个月内的所有分钟(目的是生成一个 CSV 文件)。

但是当我尝试这样做时:

d="2016-09-01 00:00:00"
 while [ "$d" != "2016-09-30 00:00:00" ]; do
 echo $d 
 d=$(date --utc "+%Y-%m-%d %H:%M:00" -d "$d + 1 minute" )
done

小时和分钟都在递增:

2016-09-01 00:00:00
2016-09-01 01:01:00
2016-09-01 02:02:00
2016-09-01 03:03:00
2016-09-01 04:04:00
2016-09-01 05:05:00
2016-09-01 06:06:00
2016-09-01 07:07:00
2016-09-01 08:08:00

我做错了什么以及如何正确循环分钟?

最佳答案

我会改用 Unix 时间戳。

d=$(date --utc +%s -d "2016-09-01 00:00:00")
end=$(date --utc +%s -d "2016-09-30 00:00:00")
while [ "$d" != "$end" ]; do
    date --utc "+%Y-%m-%d %H:%M:00" -d "@$d"
    d=$(( d + 60 ))
done

关于bash - 循环分钟并用 bash 回显,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40087872/

相关文章:

bash -/bin/sh : apt-get: not found

Bash 读取输入 - Tab 提示符

Bash:uniq计数大数据集

linux - 计算文件夹中所有文件的总行数

mysql - 在 MySQL 中转换日期

php - 显示特定时间范围内的数据库实体

bash - 减少 awk 遍数

postgresql - 插入到 postgres 时省略尾随零

r - 为什么 R(在我的示例中)处理日期/日期时间非常慢?

Java Date Parse 从一种格式到另一种格式