Shellscript: awk

  • Guten Tag,

    für eine aufgabe müssen wir eine auswertung einer textdatei
    machen, die textdatei (Zeiterfassung) hat folgendes format:
    (Bsp)

    Tag1#KostenstelleA#MitarbeiterA#3
    Tag1#KostenstelleB#MitarbeiterC#3
    Tag2#KostenstelleA#MitarbeiterA#3
    Tag2#KostenstelleA#MitarbeiterB#3
    ...

    Die Auswertung hat in Form von gruppierungen so auszusehen,
    dass ein Zeitraum abgefragt wird (zB Tag1 - Tag3) und dann ausgegeben
    wird, welche Mitarbeiter in Summe wieviele Stunden für diese
    Kostenstelle gearbeitet hat:

    Kostenstelle A:
    -------------------
    MitarbeiterA 6
    MitarbeiterB 3
    -------------------
    Gesamt 9

    Kostenstelle B:
    ...

    das ganz soll mit Shellprogrammierung, im spez. mit awk realisiert
    werden.

    kann mir jemand speziell für awk, arrays usw. einen tip geben?
    DANKE
    Thomas

  • kann mir jemand speziell für awk, arrays usw. einen tip geben?


    man awk ;)

    Na, also ich weiß jetzt nicht so wirklich was du da hören willst. Awk is eh grad für sowas recht gut geeignet und relativ einfach.

    Hier wirst wohl in etwa so vorgehen:
    Zerst musst mal die einzelnen fields trennen (kannst sicher awk einen Fieldseperator als Option übergeben ;) ).

    Dann hast verschiedene Möglichkeiten wie du das löst - kommt auch auf die genaue Angabe an. Irgendwas globales wirst halt brauchen, wo du dann in jedem patter-matching-statement-dingens diese Var erhöhst od. so.

    Ja.. also lies dir mal die Manpage und frag irgendwie nach was konkreterem. So ist es etwas schwer hier eine vernünftige Antwort zu geben (ohne dir das fertige Skript hinzumalen ;) ).

    Let us be thankful we have commerce. Buy more. Buy more now. Buy. And be happy.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!