如何在 shell 中创建日期生成器?
How to create a date generator in shell?
我想从过去 4 年的网站中提取一些信息,每个文件都是基于日期的,例如 http://ransompull.com/pullme/2013-04-06/example.2013-04-06.txt
这是起始文件,今天结束,所以我想提取过去 4 年的所有 txt 文件。
我尝试了什么:
DATE=`date +%Y`
MONTH='01'
DAY='1'
for i in range(1,31);
for j in range(01,12):
do wget http://ransompull.com/pullme/$DATE$i/example.$DATE$i.txt;
done
done
但这似乎是错误的,因为迭代月份和日期是不可行的,因为它没有给出关于如何从
中提取所有数据的所需 output.Any 建议
http://ransompull.com/pullme/2013-04-06/example.2013-04-06.txt
到
http://ransompull.com/pullme/2017-08-10/example.2017-08-10.txt
不用计算年月日,
您可以只计算相对于开始日期的天数。
如果你有 date
命令的 GNU 实现,
您可以使用它来计算相对日期,例如:
date +%F -d '2013-04-06 + 1000 days'
这输出 2016-01-01
。
您可以创建一个循环,通过增加从开始到结束的天数来生成日期:
start=2013-04-06
end=2017-08-10
date=$start
days=0
while [ "$date" != "$end" ]; do
date=$(date +%F -d "$start + $days days")
wget http://ransompull.com/pullme/$date/example.$date.txt
((days++))
done
试试这个:
$startdate=get-date 2017-08-11
$enddate=$startdate.AddYears(-4)
0..($startdate - $enddate).Days | %{wget ("http://ransompull.com/pullme/{0:yyyy-MM-dd}/example.{0:yyyy-MM-dd}.txt" -f $startdate.AddDays(-$_))}
我想从过去 4 年的网站中提取一些信息,每个文件都是基于日期的,例如 http://ransompull.com/pullme/2013-04-06/example.2013-04-06.txt
这是起始文件,今天结束,所以我想提取过去 4 年的所有 txt 文件。
我尝试了什么:
DATE=`date +%Y`
MONTH='01'
DAY='1'
for i in range(1,31);
for j in range(01,12):
do wget http://ransompull.com/pullme/$DATE$i/example.$DATE$i.txt;
done
done
但这似乎是错误的,因为迭代月份和日期是不可行的,因为它没有给出关于如何从
中提取所有数据的所需 output.Any 建议http://ransompull.com/pullme/2013-04-06/example.2013-04-06.txt
到
http://ransompull.com/pullme/2017-08-10/example.2017-08-10.txt
不用计算年月日,
您可以只计算相对于开始日期的天数。
如果你有 date
命令的 GNU 实现,
您可以使用它来计算相对日期,例如:
date +%F -d '2013-04-06 + 1000 days'
这输出 2016-01-01
。
您可以创建一个循环,通过增加从开始到结束的天数来生成日期:
start=2013-04-06
end=2017-08-10
date=$start
days=0
while [ "$date" != "$end" ]; do
date=$(date +%F -d "$start + $days days")
wget http://ransompull.com/pullme/$date/example.$date.txt
((days++))
done
试试这个:
$startdate=get-date 2017-08-11
$enddate=$startdate.AddYears(-4)
0..($startdate - $enddate).Days | %{wget ("http://ransompull.com/pullme/{0:yyyy-MM-dd}/example.{0:yyyy-MM-dd}.txt" -f $startdate.AddDays(-$_))}