shuf -e und Argumente die mit einem Strich - beginnen

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
inne
Beiträge: 3281
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

shuf -e und Argumente die mit einem Strich - beginnen

Beitrag von inne » 28.01.2016 14:33:36

Hallo,

das Kommando shuf -e besagt, dass jedes ARG als Eingabezeile behandelt werden soll. Nur wie kann ich Werte wie --randomN angeben?
Also shuf -e -- "--random1" "--random2" funktioniert nicht – leider.

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: shuf -e und Argumente die mit einem Strich - beginnen

Beitrag von Meillo » 28.01.2016 15:27:39

Dein konkretes Problem kannst du so loesen:

Code: Alles auswählen

shuf -e `seq 3` | sed 's/^/--random/'
;-)

Wie man das generelle Problem loest, kann ich dir leider nicht sagen.

Was ist denn der Grund, dass du die Zeilen als Argumente und nicht auf Standard-in angibtst?
Use ed once in a while!

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: shuf -e und Argumente die mit einem Strich - beginnen

Beitrag von Cae » 28.01.2016 15:46:14

Bist du sicher, dass es nicht funktioniert? Ich habe das unter Jessie nachzuvollziehen versucht und habe nicht den Eindruck, dass Argumente gefressen werden oder nicht sortiert.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: shuf -e und Argumente die mit einem Strich - beginnen

Beitrag von Meillo » 28.01.2016 16:11:42

Code: Alles auswählen

$ shuf -e --a
shuf: unrecognized option '--a'
Try `shuf --help' for more information.

$ shuf --version
shuf (GNU coreutils) 8.13
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Paul Eggert.

$ cat /etc/debian_version 
7.9
Use ed once in a while!

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: shuf -e und Argumente die mit einem Strich - beginnen

Beitrag von Meillo » 28.01.2016 16:18:43

Cae hat geschrieben:Bist du sicher, dass es nicht funktioniert?
Bist *du* dir denn sicher, *dass* es funktioniert?

Im Code-Repo habe ich auf die Schnelle zumindest keine Aenderung hierzu gefunden.
http://git.savannah.gnu.org/gitweb/?p=c ... src/shuf.c
Use ed once in a while!

inne
Beiträge: 3281
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: shuf -e und Argumente die mit einem Strich - beginnen

Beitrag von inne » 28.01.2016 18:01:15

Cae hat geschrieben:Bist du sicher, dass es nicht funktioniert? Ich habe das unter Jessie nachzuvollziehen versucht und habe nicht den Eindruck, dass Argumente gefressen werden oder nicht sortiert.

Gruss Cae
Du hast recht, das funktioniert!
Ich habe ganz vergessen den Schalter -n1 mit anzugeben um von den Argumenten nur einen zu bekommen.

Hm heute Nachmittag hatte ich wohl Tomaten auf den Augen beim Output lesen...

Gelöst
Meillo hat geschrieben:Was ist denn der Grund, dass du die Zeilen als Argumente und nicht auf Standard-in angibtst?

Code: Alles auswählen

programm $(shuf -e -n1 -- --dasnichttuen --oderdasnichttuen \ )
Ich will also aus 3 Schaltern zufällig einen ans Programm übergeben. Was der Sinn ist, kann ich dir gerne per PN sagen, aber nicht hier ;-)

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: shuf -e und Argumente die mit einem Strich - beginnen

Beitrag von Meillo » 29.01.2016 07:12:16

inne hat geschrieben:
Cae hat geschrieben:Bist du sicher, dass es nicht funktioniert? Ich habe das unter Jessie nachzuvollziehen versucht und habe nicht den Eindruck, dass Argumente gefressen werden oder nicht sortiert.
Du hast recht, das funktioniert!
Kann ich nun bestaetigen, mit `--' funktioniert's.
Ich habe ganz vergessen den Schalter -n1 mit anzugeben um von den Argumenten nur einen zu bekommen.
OT: So ein unnoetiger Schalter, wo man doch durch `head -n 1' oder `sed q' pipen kann ...
Meillo hat geschrieben:Was ist denn der Grund, dass du die Zeilen als Argumente und nicht auf Standard-in angibtst?

Code: Alles auswählen

programm $(shuf -e -n1 -- --dasnichttuen --oderdasnichttuen \ )
Ich will also aus 3 Schaltern zufällig einen ans Programm übergeben. Was der Sinn ist, [...]
Sowas eignet sich natuerlich auch zum Testen von Programmen mit zufaelligem Input ... danke fuer die Inspiration!
Use ed once in a while!

Antworten