MD5SUM или SHA1SUM могут добиться цели.
Проблема затем состоит в том, что или необходимо вычислить контрольную сумму на сервере, на который Вы загружаете или загружаете файл с сервера и выдерживаете сравнение. Но это могло также означать, что не было загружено правильно...
#!/bin/bash
day=2000-01-01
end=2012-12-31
echo Date > output.file
until [[ $day > $end ]]; do
printf "$day %d\n" $(seq 100 100 2400)
day=$(date -d "$day + 1 day" +"%Y-%m-%d")
done >> output.file
С ksh93
:
d1=$(printf '%(%s)T\n' "2000-01-01 01:00:00")
d2=$(printf '%(%s)T\n' "2013-01-01 00:00:00")
for ((d=d1;d<d2;d+=3600)); do
printf '%(%F %-H%M)T\n' "#$d"
done
С zsh
:
zmodload zsh/datetime
strftime -rs d1 '%Y%m%d%H%M' 201201010100
strftime -rs d2 '%Y%m%d%H%M' 201301010000
for ((d=d1;d<d2;d+=3600)) strftime '%F %-H%M' $d
С perl
:
perl -MPOSIX -le '
$d1=mktime 0,0,1,1,0,100;$d2=mktime 0,0,0,1,0,113;
for ($d=$d1; $d<$d2; $d+=3600) {
print strftime "%F %-H%M", localtime $d}'
С GNU awk
:
awk 'BEGIN {d1=mktime("2000 01 01 01 00 00")
d2=mktime("2013 01 01 00 00 00")
for (d=d1;d<d2;d+=3600)
print strftime("%F %-H%M",d)}'
Обратите внимание, что со всем вышеупомянутым во время изменения DST несколько часов будут пропущены или произведены дважды, если в часовом поясе с DST, поскольку часы были бы.
Мы рассчитываем от 000 до 2 300 вместо 100 - 2 400.
Так как вопрос стал более понятным, следующий небольшой сценарий мог сделать что-то подобное.
#!/bin/bash
i=1
c=100
while ((c>i))
do
echo "$(date +%F)" $c >> thisfile
sleep 5
echo "$(date +%F)" $((c+=100))
done
Я надеюсь, что это сам объяснительное
Я использовал a sleep 5
но получить точно эту строку каждый час генерировало Вас, может использовать что-то как sleep $((60*60))