Fred Furunkelstein: ksh - Liste gruppieren

Beitrag lesen

Nur ein Vorschlag (Programmablauf)

Schaue nach ob /var/run/[DeinSkript].pid existiert.
(bash: if test -e "/var/run/[DeinSkript].pid")

Wenn ja
   - Abbruch mit Meldung, dass das Programm vermutlich schon läuft weil /var/run/[DeinSkript].pid existiert, dem Benutzer soundso gehört und die PID drin steht. (ps ax | grep [DeinSkript]) tut es ggfs. auch.

schreibe die aktuelle PID nach /var/run/[DeinSkript].pid (bash: echo $$ > /var/run/[DeinSkript].pid)

sortiere Datei.alt und Datei.neu nach Datei.tmp (dabei werden diese auch zusammengeführt, mehr mit man sort)

Nimm den awk und gehe die Zeilen von Datei.tmp durch, lenke die Ausgaben nach Datei.alt:
   Für jede Zeile
       -Wenn Variable letzterWert gleichen Wert hat wie der Wert aus Kriteriumspalte, dann:
            - nichts.
       -Wenn aber der Wert aus Kriteriumspalte anderen Wert hat als Variable letzterWert, dann
            - gib Daten aus
            - setze Variable letzterWert auf Wert der Kriteriumspalte
      Nächste Zeile
[Ende awk]
Verfahre mit Datei.neu nach Deinen Wünschen
Lösche /var/run/[DeinSkript].pid
exit;

Wenn es kein Linux ist (dann hättest Du vermutlich mindestens Perl), dann passe den Pfad für das PID-File an.

Bei geschickter Programmierung kann Datei.tmp auch eine Variable in der Shell sein.

Tipp: Während der Entwicklungsphase wirst Du natürlich nicht Deine Daten zerstören sondern in eine andere Datei schreiben.

Fred