Last active
August 29, 2015 13:55
-
-
Save Stefan-Wagner/8695834 to your computer and use it in GitHub Desktop.
A script which takes a list of birthdays (ddmmyy), sizes in cm and names (in line 4 to 30 - first lines are comment) and outputs moonphase, date and size.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Geburtstage der dt. Bundesliga - Hertha BSC | |
# | |
# | |
301089 188 Burchart | |
220788 187 Kraft | |
270693 196 Sprint | |
280193 193 Brooks | |
050881 190 Franz | |
110790 172 Holland | |
060684 192 Hubnik | |
140285 185 Janker | |
100777 183 Kobiaschvili | |
150188 191 Langkamp | |
301086 176 Pekarik | |
211186 183 vandenBergh | |
230187 178 Baumjohann | |
180788 183 Ben-Hatira | |
100686 176 Hosogai | |
221180 179 Kluge | |
020588 180 Lustenberger | |
210395 174 Mukhtar | |
060582 180 Ndjeng | |
221183 191 Niemeyer | |
110586 175 Ronny | |
010493 180 Schulz | |
280586 184 Allagui | |
151291 189 Lasogga | |
220186 185 Ramos | |
100889 180 Sahar | |
291187 194 Wagner |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# mittlere Mondphasendauer lt. Wikipedia: | |
# 29,53 Tage (29 Tage, 12 Stunden und 43 Minuten) | |
mondphase () { | |
# dt. Format dd mm yy | |
tag=$1 | |
monat=$2 | |
jahr=$3 | |
datum=19$jahr/$monat/$tag | |
# Datum in Sekunden seit 1.1.1970, am 26.8.2013 war Vollmond | |
# 2013/08/26: erste Arbeiten am Script | |
# letzter Tag der 7 Tage Vollmond, in Zukunft liegend bzw. nach | |
voll=$(date -d 2013/12/16 +%s) | |
tag=$(date -d $datum +"%s") | |
# echo $((heute-tag)) | |
delta=$((voll-tag)) | |
# $((12/3*2)) ist $(((12/4)*2)), nicht $((12/(4*3))) | |
# 3600*24 sind die 60*60s * 24h also ein Tag in Sekunden. | |
# 29.53 ist die Dauer einer Mondphase in Tagen (s.o.) | |
# statt a/(3600 *b*29.53) zu rechnen kann ich die Nachkommastellen verschieben | |
# zu a/(36.00*b*2953 ) | |
# Ganze Mondphasen seit Geburtstag: | |
mondphasen=$((delta/(36*24*2953))) | |
# 592 | |
# Rest der nicht in ganzen Mondphasen aufgeht: | |
rest=$(((delta-mondphasen*(36*24*2953))/(24*3600))) | |
# 4 Phasen: Vollmond, abnehmend, Neumond, zunehmend | |
# 29,53 /4 ~= 30/4 = 15/2 = 7.5 | |
# Die erste Phase ist aber schon halb vorbei und dauert nur noch 3.75 Tage | |
# 3.75 + 7.5 = 11.25 , + 7.5 = 18.75, + 7.5 = 26.25 ... 29.5 | |
phase=$(((rest+4)/7)) | |
phasen=(Vollmond zunehmend Neumond abnehmend Vollmond2) | |
# echo $tag.$monat.19$jahr Rest $rest ${phasen[phase]} | |
echo ${phasen[phase]} | |
} | |
echo Tag Monat Jahr Länge Mondphase | |
for n in {4..30} | |
do | |
line=$(sed -n ${n}p geburtstage.lst) | |
d=${line:0:2} | |
m=${line:2:2} | |
y=${line:4:2} | |
l=${line:7:3} | |
p=$(mondphase $d $m $y) | |
echo -e $p "\t"$d.$m.19$y $l | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment