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).
Zeilen vergleichen
-
- Beiträge: 430
- Registriert: 03. Mär 2006 23:16
Hallo,
zuerst ein Aufstellen der Doublettenliste? (zu Fuß)
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?
zuerst ein Aufstellen der Doublettenliste? (zu Fuß)
Code: Alles auswählen
awk '{print $1}' | sort | uniq -c | awk '$1!="1" {print $2} '
'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?