staging.inyokaproject.org

Sprichwort bei Start im Terminal ausgeben

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

danorama

Anmeldungsdatum:
25. Oktober 2009

Beiträge: Zähle...

Hallo Jungs,

ich würde gerne bei jedem Start zufällig eine Zeile aus einer Datei sprichwoerter.txt auslesen.

Meine Datei sieht folgendermaßen aus:

sprichwoerter.txt

english;deutsch
the pot calling the kettle black; Ein Esel schilt den andern Langohr
a penny for your thoughts;Woran denkst du gerade?
...

Die Datei möchte ich mit der Zeit mehr und mehr füllen. Das Script sollte also mit einer variablen Zeilenanzahl zurechtkommen.

Hat jemand zufällig so ein Script zur Hand?

THX

nbkr

Avatar von nbkr

Anmeldungsdatum:
29. Oktober 2007

Beiträge: 1936

Das klingt nach einer Aufgabe für fortune. Fortune kann man auch mit eingen Daten füttern.

Stillleben

Anmeldungsdatum:
18. August 2009

Beiträge: Zähle...

Hallo danorama,

Hier ein kleines Skript, welches ich gerade ausprobiert habe. Dieses speicherst du idealerweise in eine Datei, z.B. in dein home-Verzeichnis mit dem Namen zufallszeile.sh

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#!/bin/bash

file=$1
if [ -f $file ]; then
        nlines=`cat $file | wc -l`
        line=`expr $RANDOM % $nlines + 1`
        head -n$line $file |tail -n1
else
        echo "Datei $file existiert nicht"
fi

Dieses Skript musst du zunächst noch ausführbar machen

   chmod +x ~/zufallszeile.sh

und kannst es dann wie folgt aufrufen:

   ~/zufallszeile.sh /pfad/zur/sprichwoerter.txt

Um dieses Skript bei jedem Start des Terminals aufzurufen, musst du diesen Aufruf in eine bashrc Datei hinzufügen, entweder in die für alle Benutzer ( /etc/bash.bashrc ) oder in deine eigene ( ~/.bashrc ). Mehr zu diesem Thema findest du unter http://wiki.ubuntuusers.de/Bash/bashrc.

Grüße, Stillleben

Chrissss Team-Icon

Anmeldungsdatum:
31. August 2005

Beiträge: 37971

amazin

Anmeldungsdatum:
21. Dezember 2008

Beiträge: 130

Mit "sort" kann man auch zufällig sortieren. Damit wird es dann so kurz, dass man es ohne weiteres als alias in die ~/.bashrc kopieren kann.

alias spruch="sort -R /pfad/sprichwoerter.txt | tail -1"

Edit: Sehe gerade, dass Chrisss es in seinem Script schon so getan hat und "beim Start" hab ich leider überlesen. 😬

Stillleben

Anmeldungsdatum:
18. August 2009

Beiträge: 23

Das ist ja mal deutlich besser! ☺

danorama

(Themenstarter)

Anmeldungsdatum:
25. Oktober 2009

Beiträge: 54

DANKE JUNGS.. funktionieren alle 3 Prima... hab gerade meinen ersten Fortune File gebastelt. Aber ich glaube ich seh mir die anderen Lösungen auch noch einmal genauer an.

Antworten |