linux_michelle
Anmeldungsdatum: 14. Januar 2020
Beiträge: Zähle...
|
Hallo
In meinem Studium muss ich mich mit Shell Scripts beschäftigen.
ich würde gerne ein solches schreiben.
Es soll mir Zufällige Inhalte aus jeder Zeile einer Tabelle ausgeben.
Es soll mit Hilfe eines Editors erstellt und gespeichert werden.
→ bash wetter wetterdatei
Dieser Aufruf mit Angabe des Pfadnamens der Wetterdatei soll ohne eine Optionsangabe nur eine zufällige Wetter-Kurzprognose ausgeben. Mit freundlichen Grüßen
linux_michelle
|
mhe
Anmeldungsdatum: 29. Dezember 2007
Beiträge: 210
|
Ja glaubst Du den wirklich, dass wir hier Deine Studienarbeiten erledigen? Hier ist die Doku https://www.gnu.org/software/bash/manual/ und jetzt mach Deinen Kram gefälligst selber.
|
linux_michelle
(Themenstarter)
Anmeldungsdatum: 14. Januar 2020
Beiträge: 3
|
mhe schrieb: Ja glaubst Du den wirklich, dass wir hier Deine Studienarbeiten erledigen? Hier ist die Doku https://www.gnu.org/software/bash/manual/ und jetzt mach Deinen Kram gefälligst selber.
Ich bekomme darauf weder eine Note sonst noch irgendwas. Solche Aufgaben können jedoch in der Prüfung drankommen. deswegen hätte ich für dieses Problem gerne eine Lösung.
Sehr freundliche Antwort von dir. ☺
|
mhe
Anmeldungsdatum: 29. Dezember 2007
Beiträge: 210
|
Solche Aufgaben können jedoch in der Prüfung drankommen.
Dann bedeutet das wohl, dass Du das lernen sollst. Unterstützung findest Du reichlich im Netz: https://www.google.com/search?q=learning+bash
Sehr freundliche Antwort von dir.
Was hast Du erwartet? ... Du hast nicht verstanden wofür ein/dieses Forum ist. Normalerweise fängt man erst mal selber an und dann, wenn man an einem Punkt nicht mehr weiter kommt, dann wendet man sich an ein Forum und stellt eine konkrete Frage. Aber auch dafür (bash) gibt es bessere geeignete Foren als dieses z.B. https://stackoverflow.com/questions/tagged/bash Kurzum, Du hast Dir keine Gedanken gemacht .. und dafür gibt es bei mir immer eine klare Ansage.
|
charly-ax
Anmeldungsdatum: 19. März 2013
Beiträge: 1749
|
linux_michelle schrieb: Hallo
Hallo zurück und willkommen bei Ubuntuusers. Lass dich von dieser ersten Antwort nicht vergraulen, dies ist hier im Forum nicht der Normalfall. Ich empfehle dir dieses Thema wieder als ungelöst zu markieren, vielleicht meldet sich noch ein Auskenner. mhe schrieb: Ja glaubst Du den wirklich, dass wir hier Deine Studienarbeiten erledigen?
Das hat keiner verlangt, sondern nur höflich um Hilfe dazu gebeten, denn ... linux_michelle schrieb:
In meinem Studium muss ich mich mit Shell Scripts beschäftigen. ich würde gerne ein solches schreiben.
Wenn du nicht helfen willst, ist es doch ok, aber diesen Satz ...
Hier ist die Doku https://www.gnu.org/software/bash/manual/ und jetzt mach Deinen Kram gefälligst selber.
... hättest du dir sparen können. Das Motto von Ubuntuusers ist nun mal "Fragen ist menschlich". Gruß, Holger
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 12822
|
mhe schrieb:
Kurzum, Du hast Dir keine Gedanken gemacht .. und dafür gibt es bei mir immer eine klare Ansage.
Schalt mal einen Gang runter! Das Gedanken-Machen muss man ja auch lernen. Wenn Du nicht helfen willst, musst Du auch nicht antworten.
|
mhe
Anmeldungsdatum: 29. Dezember 2007
Beiträge: 210
|
Schalt mal einen Gang runter!
Hast recht, ich hätte mich mehr zusammenreißen müssen. Wenn man in diversen Foren arbeitet und am Tag gefühlt hundert Leute völlig unvorbereitet Anfragen stellen, dann ist der Geduldsfaden auch mal sehr dünn. Ich erlebe es in letzter Zeit immer mehr, dass Leute Foren und OpenSource Projekte nur nutzen um ihre eigensten Aufgaben dort erledigen zu lassen .. die sind dann nicht mal bereit einen Task als erledigt zu markieren oder mekern nochh rum, wenn ihnen der Vorschlag aus irgendwelchen emotionalen Gründen nicht passt .. Das nervt und raubt die Zeit für Anfragen von Nutzern, die sich vor einer Anfrage erst mal selber erkundigt haben. Insbesondere bei Studenten nervt mich das, die wichtigste Lehre im Studium ist nun mal "zu lernen wie man lernt". Aus eigenem Studium kenne ich es, dass es immer wieder Kandidaten gibt die schlicht faul sind und ihre Aufgaben auf andere abwälzen .. so was finde ich zutiefst asozial und da platzt mir auch schnell mal der Kragen.
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17552
Wohnort: Berlin
|
Also zurück auf Anfang.
Es soll mir Zufällige Inhalte aus jeder Zeile einer Tabelle ausgeben. Es soll mit Hilfe eines Editors erstellt und gespeichert werden. → bash wetter wetterdatei Dieser Aufruf mit Angabe des Pfadnamens der Wetterdatei soll ohne eine Optionsangabe nur eine zufällige Wetter-Kurzprognose ausgeben.
Was davon macht Dir denn Probleme - sollen wir erklären, wie man einen Editor öffnet? Es klingt ja, als hättest Du noch nie ein Shellscript geschrieben. Kannst Du ein helloworld-Script schreiben?
|
Mooi
Anmeldungsdatum: 15. August 2014
Beiträge: 187
|
Übrigens mag man an den Unis gar nicht so das elegante Expertenwissen wie: "awk/python/perl/u.s.w. löst die Aufgabe allein" (und die Lösung stammt aus einem Forum), sondern eher breitgefächertes Wissen. Z.B.: wc zählt die Wörter einer Zeile, shuf liefert einen zufälligen Wert und cut schneidet damit ein zufälliges Wort aus. Dann weiß ich noch, was eine Variable ist, eine Pipe, eine Kommandosubstitution, ein Herestring und echo kenne ich auch. Ach ja: Quotes schaden auch nicht und Manpages sowieso. 😉 | zeile="eins zwei drei vier"
echo "$zeile" | cut -d ' ' -f $( shuf -i 1-$( wc -w <<< "$zeile" ) -n 1 )
|
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11179
Wohnort: München
|
linux_michelle schrieb: Hallo
In meinem Studium muss ich mich mit Shell Scripts beschäftigen.
Ein Studium besteht ja zu einem guten Teil darin, dass man sich selbstständig mit der Thematik beschäftigt. Die Grundidee dieses Forums ist Hilfe zur Selbsthilfe, d.h. der Fragesteller schlägt mit einem Problem auf, mit dem er sich schon beschäftigt und (trotz intensiver Suche) keine Lösung gefunden hat und man hilft ihm über die Hürde. ich würde gerne ein solches schreiben.
Was hält dich davon ab? Man könnte z.B. mit Shell/Bash-Skripting-Guide für Anfänger oder https://www.tldp.org/LDP/Bash-Beginners-Guide/html/ anfangen und sich dann vorarbeiten (https://www.tldp.org/LDP/abs/html/, Bash Manual usw.) Es soll mir Zufällige Inhalte aus jeder Zeile einer Tabelle ausgeben.
Wie ist diese Datei mit der Tabelle aufgebaut, nach welchen Kriterien wird ein zufälliger Inhalt abgegrenzt und wie zufällig soll der Zufall sein? Es soll mit Hilfe eines Editors erstellt und gespeichert werden.
Hast du da einen bestimmten Editor im Kopf? ed, vi(m), emacs, nano, leafpad, gedit, vs-code, atom, ... - Editoren gibt es viele: List_of_text_editors. Wichtig ist, dass du dir einen aussuchst, der idealerweise auf den meisten Systemen schon installiert ist und den du auch effizient bedienen kannst. → bash wetter wetterdatei
Dieser Aufruf mit Angabe des Pfadnamens der Wetterdatei soll ohne eine Optionsangabe nur eine zufällige Wetter-Kurzprognose ausgeben.
Für den einfachsten Fall, dass du eine zufällige Zeile aus der als erstem Argument übergebenen Datei gelesen und ausgegeben werden soll, könnte man z.B. GNU shuf nutzen:
| #!/bin/bash
shuf -n1 "$1"
|
|
linux_michelle
(Themenstarter)
Anmeldungsdatum: 14. Januar 2020
Beiträge: 3
|
Also ich benutze meistens Emacs.
Ich habe schon Shell Scripts geschrieben, bin jedoch noch am Anfang.
Ich will einfach nur wissen, was ich machen muss,dass aus einer Tabelle zufällig Informationen herauskommen wenn ich in die Kommandozeile bash wetter eingebe.
Im Internet steht sehr viel zu Zufallszahlen und so weiter aber da habe ich keine Informationen zu meinem Problem gefunden,also dachte ich mir : Frag doch mal in einem Forum.
Doch so freundlich wie hier alle sind... hoffe Karma besucht euch. 😉
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 12822
|
linux_michelle schrieb: Also ich benutze meistens Emacs.
Gut! Dann hast Du ja schon eine recht große Hürde genommen. 👍
Ich habe schon Shell Scripts geschrieben, bin jedoch noch am Anfang.
Ich will einfach nur wissen, was ich machen muss,dass aus einer Tabelle zufällig Informationen herauskommen wenn ich in die Kommandozeile bash wetter eingebe.
Im Internet steht sehr viel zu Zufallszahlen und so weiter aber da habe ich keine Informationen zu meinem Problem gefunden,also dachte ich mir : Frag doch mal in einem Forum.
Abstrakt ist das Vorgehen recht einfach zu beschreiben: Ermittle die Anzahl Zeilen in der Tabelle Würfle eine Zufallszahl im Bereich kleinster und größter Index. Extrahiere die Zeile und zeige sie ganz oder in Teilen an.
Aber das dürfte Dir klar sein. Alles, insbesondere die Wahl der Werkzeuge, hängt allerdings davon ab, wie das Eingabeformat ist. Das müsstest Du mal definieren (oder ein kleines Beispiel posten). Was genau meinst Du mit "Tabelle"?
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17552
Wohnort: Berlin
|
| zeilen=$(cat wetter.csv | wc -l)
sed -n $((RANDOM%zeilen))p wetter.csv
|
gibt eine zufällige Zeile Deiner Wetterdatei aus, wenn sie zeilenweise strukturiert ist. Präzise, verständliche Problembeschreibungen formulieren zu können ist übrigens eine essenzielle Fähigkeit beim Programmieren.
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11179
Wohnort: München
|
wc akzeptiert auch Dateien als Argument, damit könnte man in dem Fall auf den Einsatz cat mit nachfolgender Pipe verzichten.
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17552
Wohnort: Berlin
|
seahawk1986 schrieb: wc akzeptiert auch Dateien als Argument, damit könnte man in dem Fall auf den Einsatz cat mit nachfolgender Pipe verzichten.
Kann man nicht, weil wc dann den Namen der Datei kennt und überflüssigerweise nochmal rausposaunt, dekoriert mit einem niedlichen Doppelpunkt, den man dann mit dem Namen in aufwendiger Heimarbeit wieder herausbasteln muss.
|