Liste mischen. Alternativen zu sort -R

P

Programmer78

Doppel-As
Hallo,

ich möchte eine Liste mit Einträgen kontrolliert und einigermaßen gut "mischen". Die Liste wird 100-9000 Einträge haben. Später möchte ich mehrere Zahlen (1-50 z.B.) an die Funktion übergeben und danach soll dann gemischt werden.

Ich dachte erst an sed, jede xte Zeile ausgeben. Danach zwei Dateien mit diff vergleichen und restliche fehlende Einträge ergänzen. Aber ich möchte gern im RAM arbeiten, also alles aus einer Variable ziehen um nicht unnötig Dateien auf die Festplatte zu schreiben. Somit fällt diff dann leider flach.

Zusätzlich gibts ein sed Befehl, mit dem man eine Liste umkehren kann. Diesen habe ich auch im Auge. Oder irgendwas mit grep -n head und tail bauen. Bräuchte aber noch etwas wie diff, was auch in Variablen funktioniert.

Meistens denke ich zu kompliziert. Es gibt bestimmt auch eine einfachere Methode. sort -R wäre ja perfekt, nur ist das nicht kontrollierbar.

Danke schonmal.

cat liste.txt
eintrag001
eintrag002
eintrag003
eintrag004
.
.
.
 
Ich hab' keine Ahnung was Du genau meinst mit "kontrolliert mischen" und wie das dann hinterher aussehen soll - aber im schlimmsten Fall sieht das nach einem idealen Job für Perl aus.
 
"Kontrolliert mischen" klingt fuer mich paradox. Ich vermute, Du kommst weiter, wenn Du zunaechst mal erklaerst, was Du damit meinst. Zu diff: Du kannst Dir /tmp ja als tmpfs im RAM anlegen. Dann arbeitest Du im RAM und kannst trotzdem diff benutzen.
 
shuf ist ja gut zu kennen. Mit '--random-source=FILE' ist die Ausgabe dann ja auch kontrolliert zufaellig ;-)
 
Jupp. :D

Unter Berücksichtigung meiner eigenen menschlichen Schwächen, stelle ich mir darunter einen Poker-Kartenstapel vor, der gemischt wird: Es kommen keine doppelten Karten vor.

Code:
printf eintrag%03d\\n {1..10} | shuf
Der printf-Teil erzeugt die (geordnete) Liste aus dem Beispiel des TEs, shuf mischt sie durcheinander. Das war es schon.
 
Das Beispiel mit tmpfs gucke ich mir mal näher an. Dieser Thread kann auch gelöscht werden.
 
Zuletzt bearbeitet:
der Sinn der ganzen Aktion ergibt sich mir immer noch nicht...
 

Ähnliche Themen

Wie komme ich an den Inhalt des Inhalts einer Variable?

Zurück
Oben