Announcement

Collapse
No announcement yet.

Shell Skript einmal vorkommende Werten ermitteln

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Shell Skript einmal vorkommende Werten ermitteln

    Hallo Leute,
    ich bin neuling beim Thema Shell Programmieren. Ich habe folgende Liste im format .dat (Ergebnis.dat). Diese Liste besteht aus 5 Spalten.

    Code:
    ---------------------------------------
    - Sequenzen EMS SequenzName Datum/Zeit -
    14953  1 EMSOUTQUEUE_SEQ 2012:08:10 15:26:09
    14958  5 EMSOUTQUEUE_SEQ 2012:08:10 15:30:47
    10000  1 EMSOUTQUEUE_SEQ 2012:08:10 15:31:05
    14960  4960 EMSOUTQUEUE_SEQ 2012:08:10 15:31:24
    3531712  1 BOOKINGOUTQUEUEKEY_SEQ 2012:08:10 15:36:48
    3000000  1 BOOKINGOUTQUEUEKEY_SEQ 2012:08:10 15:37:00
    3531714  531714 BOOKINGOUTQUEUEKEY_SEQ 2012:08:10 15:37:16
    14961  1 EMSOUTQUEUE_SEQ 2012:08:10 15:37:31
    10000  1 EMSOUTQUEUE_SEQ 2012:08:10 15:37:50
    3531715  1 BOOKINGOUTQUEUEKEY_SEQ 2012:08:10 15:38:04
    14963  4963 EMSOUTQUEUE_SEQ 2012:08:10 15:38:07
    Mein Aufgabe ist, die Werte zu ermitteln, die in 3. Spalte nur einmal auftreten. Für diesen Fall muss BOOKINGOUTQUEUEKEY_SEQ und EMSOUTQUEUE_SEQ ausgegeben werden.
    Wie kann ich es programmieren?

    Vielen Dank im Voraus

    Gruß
    Basay

  • #2
    Warum treten diese nur einmal auf? Ich sehe diese Mehrfach?
    Warum wird für soclhe Aufgabe auf in meinen Augen veraltete Technik AWK usw. gesetzt. Das ist mit einem PERL-Script alles leichter zu erledigen.
    Christian

    Comment


    • #3
      Hallo Christian.
      Es tut mir leid. Ich konnte meine Aufgabe wegen meiner schlechten Deutsch nicht korrekt ausdrücken. Ich wollte die Werte ermitteln. die nur in 3. Spalte mehrfach auftreten. Wenn du auf meine Liste schaust, wirst du sehen, dass EMSOUTQUEUE_SEQ 7 mal und BOOKINGOUTQUEUEKEY_SEQ 4 mal erscheint sind. Ich wollte nur diese 2 Werte ermitteln.

      Ich habe folgende Befehl gefunden und es hat sehr gut funktioniert, wie ich genau gewollt habe.

      Code:
       awk '{if (a[$3]==0) {a[$3]=1; print $3}}' Ergebnis.dat

      Comment

      Working...
      X