Ich würd das Einlesen und die Ausgabe trennen. Für den Zwischenspeicher bietet sich SQLite an, da baut man gleich noch ein besseres "Archiv" mit auf, als mit CSV-Dateien.
Ein Parser der das File liest und die Einträge in eine SQLite Datenbank speichert. Alle nötigen Ausgaben sollten sich mit recht simplen SQL-Abfragen generieren lassen, da brauchst du vermutlich überhaupt keine Berechnungslogik mehr in den Tools (speziell Datumsrechnung kann ja schmerzhaft sein, mit SQL ein Traum). Ein anderes Script kann dir dann die nötigen Tabular-Umgebungen oder von mir aus auch das komplette Latex-File erzeugen.
Datenbankstruktur bei deiner Beschreibung mit 3 Tabellen:
1. Projekte (id, Projektname, ... (was noch wichtig ist)) 2. Milestones (id, projektid, Milestonename, ... (whatever)) 3. Zeit (id, projektid, milestoneid, datum, start, ende, .., (whatever))
Wobei ich hier statt Datum und einer Uhrzeit für Start/Ende eindach zweimal Datetime für Start und Ende nehmen würde. Ist dann auch kompatibler, wenn man mal Mitternacht durcharbeitet.
Und statt bash wäre Python meine Wahl, aber das ist Geschmackssache. Da alle Logik in der Datenbank steckt, würde bash genauso gehen.
--------------------
flickrUnd wenn sie kommt, fährt sie an uns vorbei -RaT-
|