Zeilen vergleichen

Antworten
Nachricht
Autor
seddist

Zeilen vergleichen

#1 Beitrag von seddist » 29. Dez 2007 14:26

Hallo,

ich habe jetzt eine Liste, die folgendes Format aufweist:

1234 etwas text
1234 anderer text
2343 noch etwas text

Diese Liste ist nach Spalte 1 sortiert und jetzt würde ich gerne die erste Spalte (die Zahlen) auf doubletten überprüfen.

Wenn also Zeile 1 den gleichen Zahlenwert in der ersten Spalte wie Zeile 2 hat, dann soll sie gelöscht werden.
Dann wird Zeile 2 mit Zeile 3 verglichen usw. usf.

Gibt es da eine Möglichkeit? Ich bin mit while nicht wirklich weitergekommen.
Ich könnte die Liste wie guten alten Basic Zeiten auch durchnummerieren, wäre kein Problem (wäre dann halt ein Vergleich der 2ten Spalte).

komsomolze
Beiträge: 430
Registriert: 03. Mär 2006 23:16

#2 Beitrag von komsomolze » 30. Dez 2007 0:53

Hallo,

zuerst ein Aufstellen der Doublettenliste? (zu Fuß)

Code: Alles auswählen

awk '{print $1}' | sort | uniq -c | awk '$1!="1" {print $2} '
Die Liste muß dann wohl mit 'for' durchgearbeitet werden.
'grep -n ... | tail -1' die letzte Zeilennummer des Vorkommens.
Damit als "bis"-Adresse an ein sed- oder awk-Inputfile verfüttert wird in einem Schritt die Datei geändert und abschließend werden die leeren Zeilen entfernt.

http://www-user.tu-chemnitz.de/~hot/uni ... n/awk.html
BEGIN und END?

Antworten