Input_Date=$1
Input_hour=$2
date1to5=$(date -d "$Input_Date +5 days" +%Y%m%d)
Inputdate2=$(date -d "$Input_Date" +%Y%m%d)
while [ "$Input_Date" -lt "$date1to5" ]; do
for hr in {00..23};
do
touch TEST_$Inputdate2$Input_hour"_"$Input_Date$hr.txt
done
Input_Date=$(date -d "$Input_Date + 1 day" +%Y%m%d )
done
我有一个代码,这是创建文件每隔一个小时作为一个参数。问题是小时循环从00到23,但我想得到循环从输入小时到5天后,直到输入小时。
预期输出为:
TEST_2022031506_2022031506.txt
TEST_2022031506_2022031507.txt
TEST_2022031506_2022031508.txt
TEST_2022031506_2022031509.txt
.
.
.
.
TEST_2022031506_2022031903.txt
TEST_2022031506_2022031904.txt
TEST_2022031506_2022031905.txt
1条答案
按热度按时间o2g1uqev1#
为了对日期执行算术运算,你可能需要使用Unix epoch time。这是我的方法: