Hallo miteinander, ich muß aus einer Datei (ca 20000 Zeilen) die doppelten Einträge entfernen. Nach rauskratzen meiner alten awk - Kenntnisse habe ich für die Bildung der Variablen zum Vergleich mit der vorigen Zeile folgende Ablaufanweisung: . . . E2=$(awk '{print $0}' ALB-Adressbereinigung.txt) case "$E2" in "$E1") ;; *) echo $E2 >> Endergebnis.txt E1=E2 . . . klappt wunderbar bis auf die Leerzeichen: Aus mehreren hintereinander wird nur 1 Leerzeichen. Komme trotz manpage nicht drauf, wie ich die Zeile der Datei original behalte. Grüße gg
* On Sun, 11 May 2003 at 23:36 +0200, Georg Golombek wrote:
ich muß aus einer Datei (ca 20000 Zeilen) die doppelten Einträge entfernen. [...]
Sorry, daß ich den Rest so radikal weggeschnitten hab; da fällt mir momentan kein Fehler auf. Aber - hast Du Dir schon mal uniq(1) angesehen? /apm -- GPG welcome, request public key: mailto:adalbert+key@lopez.at
On Sunday 11 May 2003 23:36, Georg Golombek wrote:
Hallo miteinander,
ich muß aus einer Datei (ca 20000 Zeilen) die doppelten Einträge entfernen.
Nach rauskratzen meiner alten awk - Kenntnisse habe ich für die Bildung der Variablen zum Vergleich mit der vorigen Zeile folgende Ablaufanweisung:
. . . E2=$(awk '{print $0}' ALB-Adressbereinigung.txt)
case "$E2" in
"$E1")
;;
*)
echo $E2 >> Endergebnis.txt E1=E2
Was spricht gegen ein "sort -u input >output"? Andreas
Hallo, On Sun, 11 May 2003, Georg Golombek wrote:
Hallo miteinander, ich muß aus einer Datei (ca 20000 Zeilen) die doppelten Einträge entfernen.
Du suchst 'sort -u' bzw. portabel: 'sort | uniq'.
E2=$(awk '{print $0}' ALB-Adressbereinigung.txt) [..] klappt wunderbar bis auf die Leerzeichen: Aus mehreren hintereinander wird nur 1 Leerzeichen.
Ich glaube, das liegt daran, dass du falsch quotest! E2="$(awk '{print $0}' Datei)" -dnh -- What is the difference between Scientology and Microsoft? One is an evil cult bent on world domination and the other was begun by L. Ron Hubbard. (anonym von slashdot.org)
Am Montag, 12. Mai 2003 14:15 schrieb David Haller:
Hallo,
On Sun, 11 May 2003, Georg Golombek wrote:
Hallo miteinander, ich muß aus einer Datei (ca 20000 Zeilen) die doppelten Einträge entfernen.
Du suchst 'sort -u' bzw. portabel: 'sort | uniq'.
E2=$(awk '{print $0}' ALB-Adressbereinigung.txt)
[..]
klappt wunderbar bis auf die Leerzeichen: Aus mehreren hintereinander wird nur 1 Leerzeichen.
Ich glaube, das liegt daran, dass du falsch quotest!
E2="$(awk '{print $0}' Datei)"
Hallo miteinander, danke für die Hinweise! Gestern war es anscheinend doch schon zu spät für mich. ;-) Heute früh habe ich gesehen, daß ich gar nicht zeilenweise eingelesen habe und das Quoting war auch falsch, wie David Haller bemerkt hat. sort -u Eingang.txt > Ergebnis.txt tat es tatsächlich in ein paar Augenblicken. Werde künftig vor jeder Aufgabe mal alle möglichen manpages durchackern. Allerdings hätte ich es bei sort nicht so einfach vermutet. Grüße gg
On Mon, 12 Mai 2003 at 20:49 (+0200), Georg Golombek wrote: [...]
sort -u Eingang.txt > Ergebnis.txt tat es tatsächlich in ein paar Augenblicken.
Werde künftig vor jeder Aufgabe mal alle möglichen manpages durchackern.
Versuchs statt dessen mit: apropos sort Dann weisst Du zumindest, _welche_ man-Pages Du Dir angucken musst. Jan
participants (5)
-
Adalbert Michelic
-
Andreas Kyek
-
David Haller
-
Georg Golombek
-
Jan.Trippler@t-online.de