Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

02.03.2007, 19:09

Hilfe bei meinem Projekt!

Hallo Leute!

Vor einer Woche habe ich eine Aufgabe bekommen ein Script in Linux zu schreiben was folgendes können soll:
Das Script wählt aus einer Textdatei, die zeilenweise Sprüche enthält, zufällig eine Zeile aus oder sucht alle Sprüche die ein bestimmtes Wort enthalten und gibt diese aus.

Wenn ein <string> 'random' angegeben wird, soll ein Spruch zufällig ausgegeben werden.
Also z.b: (in der Konsole)

Syntax: klopfer <string>
Beispiel: klopfer Bauer
soll er mir alle Zeilen ausgeben die "Bauer" enthalten

Beispiel: klopfer random
wählt nur eine Zeile zufällig aus und gibt sie am Bildschirm aus

Ich habe zwar schon begonnen einen Code zu generieren jedoch ohne Erfolg!
Ich wollte mit cat die txt Datei am Bildschirm ausgeben jedoch gibt es anscheinend keine Option nur eine Zeile auszugeben!
Daher hab ich etwas anderes versucht:

Quellcode

1
less -g=2 sprueche.txt | head -l=1

Ich wollte nur einmal testen wie ich nur eine Zeile ausgebe anstatt mit cat alle Zeilen nur das funktioniert nicht ganz

Und wie ich das random mache............. keine Ahnung!

Bitte kann mir jemand bei diesen Problemen helfen?

mfg Milchmann

strcat

Unix Gladiator

  • »strcat« ist männlich

Beiträge: 2 331

Wohnort: /Earth/Germany/Bavaria/Regensburg

  • Nachricht senden

2

02.03.2007, 19:27

RE: Hilfe bei meinem Projekt!

Deine bisherigen Versuche sehen wie genau aus? Wir sind nicht dafuer da um Deine Hausaufgaben zu machen.
Christian 'strcat' Schneider <http://www.strcat.de/>
/* When all else fails, read the instructions. */

3

02.03.2007, 19:49

nein das will ich auch nicht ich will eigentlich wissen wie ich nur eine zeile auf dem bildschirm ausgebe anstatt die komplette txt
mit cat kann ich es anscheinend nicht da es keine option dafür gibt (denk ich mal - ich hab keine gefunden)
also hab ich ebendas versucht nur funktioniert das nicht ganz

Quellcode

1
2
3
4
5
6
7
8
9
if [ $# != 1 ]; then // überprüfung wenn mehr oder weniger als 2 parameter sind
  echo "Parameteranzahl ungueltig!"
  exit 1
fi

if [ $1 == "random" ]; then //nur einmal testen
  less -g=2 sprueche.txt | head -l=1 // mit less versuch ich ersteinmal aus der txt datei die 2te zeile rauszufischen und dann mit head nur eine zeile auszugeben
  exit 0
fi


ich wollte einfach nur einmal testen ob ich nur eine zeile der txt datei ausgeben kann auf dem bildschirm
das war meine version nur die funktioniert nicht richitg kann mir da jemand helfen oder hat jemand eine andere lösung für das problem??

bitte nicht falsch verstehen, ich will auch nicht das ihr mir das komplette script postet
da lern ich ja auch nix dabei =D
ich kenn mich schon einwenig aus mit scripten aber gerade bei diesen 2 sachen hab ich gröbere schwierigkeiten

mfg

strcat

Unix Gladiator

  • »strcat« ist männlich

Beiträge: 2 331

Wohnort: /Earth/Germany/Bavaria/Regensburg

  • Nachricht senden

4

02.03.2007, 20:50

Ich wuerds mir Perl machen

Quellcode

1
perl -ne'rand$.<1&&($\=$_)}{print' /etc/passwd

Per Shell wirds allerdings eklig; http://frenchfragfactory.net/ozh/archive…25/random-line/ ist nur ein Beispiel.
Christian 'strcat' Schneider <http://www.strcat.de/>
/* When all else fails, read the instructions. */

5

03.03.2007, 13:36

ersteinmal danke strcat für deine hilfe!

ich habe mir die lösung die du vorgeschlagen hast und die wo du mir den link geschickt hast einmal genau angeschaut...
nur leider bin ich überfordert mit den ganzen sonderzeichen und befehlen und kenn mich daher da nicht so ganz aus

wenn du mir erklären würdest wie du bzw die auf die lösung gekommen sind wäre ich dir sehr dankbar

mfg

Thema bewerten