Ubuntu-Austria Foren-Übersicht
Portal  •  Forum  •  Profil  •  Suchen   •  Registrieren  •  Einloggen, um private Nachrichten zu lesen  •  Login   

 unique Liste: geordnet statt sortiert

Neues Thema eröffnenNeue Antwort erstellen
Autor Nachricht
kappa




Geschlecht:
Alter: 47
Anmeldungsdatum: 26.10.2009
Beiträge: 1466
Wohnort: Wien 10


austria.gif

BeitragVerfasst am: 25.04.2010, 17:30    unique Liste: geordnet statt sortiert Antworten mit ZitatNach oben

Habe am sonntäglichen Nachmittag bei Eiscafe und Perl-Buch wieder mal das Thema unique Output gestreift.

Wer die Kommandozeile liebt, der kennt zB die Pipe Kette
cat /etc/profile | sort | uniq


uniq ist eigentlich recht nützlich, bloß will es vorher ein sort haben, welches die natürliche Ordnung der Dinge durcheinander haut.

/etc/profile ist ein realitätsfremdes Beispiel, doch man sieht den Effekt: Zuerst werden die Zeilen sortiert und dann Duplikate verworfen.

In chronologisch geführten Logs ist das aber schlecht: Ich will alte Dinge zuerst sehen, aber nicht x Male diesselbe Zeile.

Hier hilft - ist eh klar - Perl und seine Einzeiler:
cat /etc/profile | perl -e 'print grep {!$u{$_}++} <>'

Dieses tut das gleiche, schneller, NUR in seiner natürlichen Ordnung!

P.S. Und wer wissen will, was das heißt, der gehört ins Forum Programmierung! Smile
(Und ja, in beiden Fällen kann man das cat eliminieren.)


Ach ja, und jetzt noch ungeordnet & unsortiert:
cat /etc/profile | perl -e '@u{<>}=(); print keys %u'


Desktop: Gnome 2.X

Version: 10.04

Hardware: Notebook

Architektur: 32Bit
OfflineBenutzer-Profile anzeigenPrivate Nachricht senden    
Beiträge der letzten Zeit anzeigen:      
Neues Thema eröffnenNeue Antwort erstellen


 Gehe zu:   



Berechtigungen anzeigen


Forensicherheit

1008050150564 Angriffe abgewehrt

Powered by Orion based on phpBB © 2001, 2002 phpBB Group
CBACK Orion Style based on FI Theme
Alle Zeiten sind GMT + 2 Stunden



[ Page generation time: 0.0722s (PHP: 75% - SQL: 25%) | SQL queries: 25 | GZIP enabled | Debug off ]