
Gibt es eine Möglichkeit Zeilen einer Textdatei zufällig zu sortieren. Mir fällt dazu ein, eine Zufallszahl zwischen 1 und der maximalen Zahl zu bestimmen und dann mit sed weiter zu machen. Das kommt mir aber sehr umständlich vor. Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Hallo, Am Wed, 24 Nov 2010, Al Bogner schrieb:
Wie groß ist die Datei? Wie "zufällig" soll das Ergebnis sein? Im Prinzip fällt mir hier als erstes ein, die Datei mit awk oder perl in ein Array zu lesen und dann zufällig auszugeben. Im Moment bin ich zu müde, das mal eben in perl hinzutippern. Es gibt für per auch spezielle "shuffle" Module (oder so vom Namen her), die Krams "mischen" ... -dnh -- 273: MIME Elektronische Fraktur. (Ralph Babel) -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Am Mi, 24 Nov 2010 05:26:37 CET schrieb David Haller: Hallo David,
Nicht sehr groß, 500-1000 Zeilen mit Email-Adressen. Es geht um einen Newsletter, den ich vorsichtshalber nicht alfabetisch versenden will. Die Adressen liegen wegen sort -u alfabetisch vor.
Fällt dir keine bash / sed o.ä-Variante ein. Also etwa ADRESSEN=( "x@y" "a@b" ) ZAHL="${#ADRESSEN}" RNDADDRESS="${ADRESSEN[ $(( RANDOM % ZAHL )) ]}" und das dann in eine Schleife mit sed verpacken oder so? Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Hallo Al, Am 24.11.2010 13:35, schrieb Al Bogner:
Was hälst du eigentlich von diesem Befehl: # cat emailadressen.txt | sort -R >emailadressen_zufall.txt -- Gruß Sebastian - openSUSE Member (Freespacer) Webseite/Blog: <http://www.sebastian-siebert.de> Wichtiger Hinweis zur openSUSE Mailing Liste: <http://de.opensuse.org/OpenSUSE_Mailinglisten-Netiquette> -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Hi Sebastian, Am 24.11.2010 13:55, schrieb Sebastian Siebert:
Hallo Al,
[...]
Was hälst du eigentlich von diesem Befehl:
# cat emailadressen.txt | sort -R>emailadressen_zufall.txt
caxwf@oswlin25 [!43] cat /etc/motd |sort -R sort: invalid option -- R Try `sort --help' for more information. caxwf@oswlin25 [!44] which sort /bin/sort -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Hallo Werner Am 24.11.2010 14:02, schrieb Werner Franke:
Auch nicht, wenn man es so schreibt: # cat emailadressen.txt | sort --random-sort >emailadressen_zufall.txt Vielleicht gibt es Versionsunterschiede. # sort --version sort (GNU coreutils) 7.1 -- Gruß Sebastian - openSUSE Member (Freespacer) Webseite/Blog: <http://www.sebastian-siebert.de> Wichtiger Hinweis zur openSUSE Mailing Liste: <http://de.opensuse.org/OpenSUSE_Mailinglisten-Netiquette> -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Werner Franke schrieb:
Das "sort" von openSUSE 11.2 kennt die Option.
caxwf@oswlin25 [!44] which sort /bin/sort
"sort --version" wäre vermutlich interessanter als die Information, wo das Programm liegt ... ;-) Auf meiner Kiste: | andi@bigmachine:~/> sort --version | sort (GNU coreutils) 7.1 | Copyright © 2009 Free Software Foundation, Inc. Gruß Andi -- E-Mails an die Absender-Adresse werden nicht gelesen. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Am Mi, 24 Nov 2010 14:28:06 CET schrieb Werner Franke:
sort -r passt, danke, gab es aber am entfernten Rechner noch nicht. Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

#!/usr/bin/perl -w use List::Util 'shuffle'; die "Usage: '$0 < sorted.txt > unsorted.txt'\n" if -t STDIN; @lines = <>; @shuffled = shuffle @lines; print @shuffled; Mit freundlichen Grüßen Bernd Melchers -- Archiv- und Backup-Service | fab-service@zedat.fu-berlin.de Freie Universität Berlin | Tel. ++49-30-838-55905 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Hallo, Am Wed, 24 Nov 2010, Al Bogner schrieb:
Wie groß ist die Datei? Wie "zufällig" soll das Ergebnis sein? Im Prinzip fällt mir hier als erstes ein, die Datei mit awk oder perl in ein Array zu lesen und dann zufällig auszugeben. Im Moment bin ich zu müde, das mal eben in perl hinzutippern. Es gibt für per auch spezielle "shuffle" Module (oder so vom Namen her), die Krams "mischen" ... -dnh -- 273: MIME Elektronische Fraktur. (Ralph Babel) -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Am Mi, 24 Nov 2010 05:26:37 CET schrieb David Haller: Hallo David,
Nicht sehr groß, 500-1000 Zeilen mit Email-Adressen. Es geht um einen Newsletter, den ich vorsichtshalber nicht alfabetisch versenden will. Die Adressen liegen wegen sort -u alfabetisch vor.
Fällt dir keine bash / sed o.ä-Variante ein. Also etwa ADRESSEN=( "x@y" "a@b" ) ZAHL="${#ADRESSEN}" RNDADDRESS="${ADRESSEN[ $(( RANDOM % ZAHL )) ]}" und das dann in eine Schleife mit sed verpacken oder so? Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Hallo Al, Am 24.11.2010 13:35, schrieb Al Bogner:
Was hälst du eigentlich von diesem Befehl: # cat emailadressen.txt | sort -R >emailadressen_zufall.txt -- Gruß Sebastian - openSUSE Member (Freespacer) Webseite/Blog: <http://www.sebastian-siebert.de> Wichtiger Hinweis zur openSUSE Mailing Liste: <http://de.opensuse.org/OpenSUSE_Mailinglisten-Netiquette> -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Hi Sebastian, Am 24.11.2010 13:55, schrieb Sebastian Siebert:
Hallo Al,
[...]
Was hälst du eigentlich von diesem Befehl:
# cat emailadressen.txt | sort -R>emailadressen_zufall.txt
caxwf@oswlin25 [!43] cat /etc/motd |sort -R sort: invalid option -- R Try `sort --help' for more information. caxwf@oswlin25 [!44] which sort /bin/sort -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Hallo Werner Am 24.11.2010 14:02, schrieb Werner Franke:
Auch nicht, wenn man es so schreibt: # cat emailadressen.txt | sort --random-sort >emailadressen_zufall.txt Vielleicht gibt es Versionsunterschiede. # sort --version sort (GNU coreutils) 7.1 -- Gruß Sebastian - openSUSE Member (Freespacer) Webseite/Blog: <http://www.sebastian-siebert.de> Wichtiger Hinweis zur openSUSE Mailing Liste: <http://de.opensuse.org/OpenSUSE_Mailinglisten-Netiquette> -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Werner Franke schrieb:
Das "sort" von openSUSE 11.2 kennt die Option.
caxwf@oswlin25 [!44] which sort /bin/sort
"sort --version" wäre vermutlich interessanter als die Information, wo das Programm liegt ... ;-) Auf meiner Kiste: | andi@bigmachine:~/> sort --version | sort (GNU coreutils) 7.1 | Copyright © 2009 Free Software Foundation, Inc. Gruß Andi -- E-Mails an die Absender-Adresse werden nicht gelesen. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Am Mi, 24 Nov 2010 14:28:06 CET schrieb Werner Franke:
sort -r passt, danke, gab es aber am entfernten Rechner noch nicht. Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

#!/usr/bin/perl -w use List::Util 'shuffle'; die "Usage: '$0 < sorted.txt > unsorted.txt'\n" if -t STDIN; @lines = <>; @shuffled = shuffle @lines; print @shuffled; Mit freundlichen Grüßen Bernd Melchers -- Archiv- und Backup-Service | fab-service@zedat.fu-berlin.de Freie Universität Berlin | Tel. ++49-30-838-55905 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (6)
-
Al Bogner
-
Andreas Kilgus
-
Bernd Melchers
-
David Haller
-
Sebastian Siebert
-
Werner Franke