P
Praktikant4614
Grünschnabel
Hi,
ich sitze seit Tagen an einem Problem :
Ich habe eine dbf-Datei mit mehreren Feldern pro Zeile, hier ein Ausschnitt:
LINKNO DSLINKNO WSNO Order DOUT_END
3 1 3 0 0,0
211 5 57 0 7414,2
241 210 35 0 16242,6
240 210 36 0 16242,6
210 5 78 241 7414,2
5 2 23 211 31214,1
7 4 12 0 4578,0
9 6 45 0 1415,2
205 163 87 0 16242,6
204 163 212 0 16242,6
Anhand der letzten Spalte werden in einem späteren Verarbeitungsschritt einzelne Zeilen einander zugeordnet. Es gehören immer zwei zusammen. Leider kommt es durch Zufall (die Datei ist ziemlich groß) vor, dass vier oder mehr Zeilen den gleichen Wert "DOUT_END" haben, dadurch entstehen "falsche Nachbarn". Diese muss ich herausfiltern und den DOUT_END-Wert eines korrekten Pärchens minimal ändern, so dass die Zuordnungen wieder eindeutig sind.
Die korrekten Zuordnungen lassen sich über die zweite Spalte "DSLINKNO" erkennen.
Ich muss also die Anweisung geben: Zähle alle Zeilen mit gleichem DOUT_END (dafür habe ich die dbf-Datei in eine txt-Datei umgewandelt und die gleichen DOUT_END-Werte mit awk {DOUTEND[$5] ++} gezählt) und wenn das mehr als zwei sind gib sie mir aus.
So weit so gut.
Dann hab ich das ganze noch mit sort und uniq in die Form gebracht, dass jeder kritische DOUT_END-Wert einmal in einer Textdatei auftaucht, aus ihr kann ich diese einzeln mit sed herausholen.
Aber wie kann ich mit diesen Werten ein Schleife aufbauen, die mir in der dbf-Tabelle diese DOUT_END-Werte um, sagen wir mal 0,1, erhöht?
Bin für alle Vorschläge dankbar!
Greetz,
Andi
.
.
.
EDIT (autom. Beitragszusammenführung) :
.
LINKNO DSLINKNO WSNO Order DOUT_END
3 1 3 0 0,0
211 5 57 0 7414,2
241 210 35 0 16242,6
240 210 36 0 16242,6
210 5 78 241 7414,2
5 2 23 211 31214,1
7 4 12 0 4578,0
9 6 45 0 1415,2
205 163 87 0 16242,6
204 163 212 0 16242,6
ich sitze seit Tagen an einem Problem :
Ich habe eine dbf-Datei mit mehreren Feldern pro Zeile, hier ein Ausschnitt:
LINKNO DSLINKNO WSNO Order DOUT_END
3 1 3 0 0,0
211 5 57 0 7414,2
241 210 35 0 16242,6
240 210 36 0 16242,6
210 5 78 241 7414,2
5 2 23 211 31214,1
7 4 12 0 4578,0
9 6 45 0 1415,2
205 163 87 0 16242,6
204 163 212 0 16242,6
Anhand der letzten Spalte werden in einem späteren Verarbeitungsschritt einzelne Zeilen einander zugeordnet. Es gehören immer zwei zusammen. Leider kommt es durch Zufall (die Datei ist ziemlich groß) vor, dass vier oder mehr Zeilen den gleichen Wert "DOUT_END" haben, dadurch entstehen "falsche Nachbarn". Diese muss ich herausfiltern und den DOUT_END-Wert eines korrekten Pärchens minimal ändern, so dass die Zuordnungen wieder eindeutig sind.
Die korrekten Zuordnungen lassen sich über die zweite Spalte "DSLINKNO" erkennen.
Ich muss also die Anweisung geben: Zähle alle Zeilen mit gleichem DOUT_END (dafür habe ich die dbf-Datei in eine txt-Datei umgewandelt und die gleichen DOUT_END-Werte mit awk {DOUTEND[$5] ++} gezählt) und wenn das mehr als zwei sind gib sie mir aus.
So weit so gut.
Dann hab ich das ganze noch mit sort und uniq in die Form gebracht, dass jeder kritische DOUT_END-Wert einmal in einer Textdatei auftaucht, aus ihr kann ich diese einzeln mit sed herausholen.
Aber wie kann ich mit diesen Werten ein Schleife aufbauen, die mir in der dbf-Tabelle diese DOUT_END-Werte um, sagen wir mal 0,1, erhöht?
Bin für alle Vorschläge dankbar!
Greetz,
Andi
.
.
.
EDIT (autom. Beitragszusammenführung) :
.
LINKNO DSLINKNO WSNO Order DOUT_END
3 1 3 0 0,0
211 5 57 0 7414,2
241 210 35 0 16242,6
240 210 36 0 16242,6
210 5 78 241 7414,2
5 2 23 211 31214,1
7 4 12 0 4578,0
9 6 45 0 1415,2
205 163 87 0 16242,6
204 163 212 0 16242,6
Zuletzt bearbeitet: