Liste mischen. Alternativen zu sort -R

Programmer78

Doppel-As
Beiträge
146
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
.
.
.
 

marce

Kaiser
Beiträge
1.300
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.
 

tgruene

Routinier
Beiträge
418
"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.
 

tgruene

Routinier
Beiträge
418
shuf ist ja gut zu kennen. Mit '--random-source=FILE' ist die Ausgabe dann ja auch kontrolliert zufaellig ;-)
 

Spröde

Alter Sack
Beiträge
177
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.
 

Programmer78

Doppel-As
Beiträge
146
Das Beispiel mit tmpfs gucke ich mir mal näher an. Dieser Thread kann auch gelöscht werden.
 
Zuletzt bearbeitet:

Ähnliche Themen

Wie komme ich an den Inhalt des Inhalts einer Variable?

Oben