GWFgamer
Ensign
- Registriert
- Juli 2006
- Beiträge
- 167
Hallo liebe Community,
ich befasse mich zur Zeit mit Kommandos unter Unix/ Solaris in der Kommandozeile und habe folgendes Problem, dass ich mithilfe des Befehls sort -u zu lösen versuche. Gegeben ist eine Datei z.B. "Computer.txt" mit mehreren Datensätzen (jeder Datensatz dargestellt durch eine Zeile), jedes Feld ist z.B. durch ein Komma abgetrennt:
Computer,8888,2222,7777,0001,
Computer,8887,2222,7777,0001,
Computer,8889,2222,7777,0002,
Computer,8886,2222,7777,0002,
Ich versuche nun, nur die Zeilen auszugeben, die im z.B. letzten Feld einzigartig sind, sprich so sollte das Ergebnis aussehen:
Computer,8888,2222,7777,0001,
Computer,8889,2222,7777,0002,
Normalerweise könnte dies ja mit
realisiert werden, wenn es da nicht auch noch andere Felder gäbe (in diesem Fall das zweite), die auch varieren können (mich aber nicht interessieren).
Meine Idee war, über
mich auf das vierte Feld zu beschränken (zumindest zum identifizieren von uniques) .. allerdings wird in diesem Fall natürlich auch nur das letzte Feld ausgeben ...
Habt ihr eventuell eine Idee, wie ich beschränkt auf ein Feld diese Datensätze sortieren bzw. die mit dem selben (z.B.) letzten Feld aussortieren kann? Dabei ist egal, welcher der "Semi-Duplikat-Datensätze" verschwindet. Schleifen sollen nicht verwendet werden, es soll alles in "einem" Befehl untergebracht sein
Vielen Dank für eure Ideen jetzt schon einmal, ich hoffe ich habs nicht zu kompliziert ausgedrückt
ich befasse mich zur Zeit mit Kommandos unter Unix/ Solaris in der Kommandozeile und habe folgendes Problem, dass ich mithilfe des Befehls sort -u zu lösen versuche. Gegeben ist eine Datei z.B. "Computer.txt" mit mehreren Datensätzen (jeder Datensatz dargestellt durch eine Zeile), jedes Feld ist z.B. durch ein Komma abgetrennt:
Computer,8888,2222,7777,0001,
Computer,8887,2222,7777,0001,
Computer,8889,2222,7777,0002,
Computer,8886,2222,7777,0002,
Ich versuche nun, nur die Zeilen auszugeben, die im z.B. letzten Feld einzigartig sind, sprich so sollte das Ergebnis aussehen:
Computer,8888,2222,7777,0001,
Computer,8889,2222,7777,0002,
Normalerweise könnte dies ja mit
Code:
cat Computer.txt | sort -u
Meine Idee war, über
Code:
cat Computer.txt | cut -d "," -f 4 | sort -u
Habt ihr eventuell eine Idee, wie ich beschränkt auf ein Feld diese Datensätze sortieren bzw. die mit dem selben (z.B.) letzten Feld aussortieren kann? Dabei ist egal, welcher der "Semi-Duplikat-Datensätze" verschwindet. Schleifen sollen nicht verwendet werden, es soll alles in "einem" Befehl untergebracht sein

Vielen Dank für eure Ideen jetzt schon einmal, ich hoffe ich habs nicht zu kompliziert ausgedrückt
