Anzeige:
Ergebnis 1 bis 6 von 6

Thema: "zufälligen" grep aus ner textdatei

  1. #1
    Registrierter Benutzer
    Registriert seit
    01.10.2002
    Beiträge
    25

    "zufälligen" grep aus ner textdatei

    hallo zusammen,

    ich habe ein textfile mit "sprüchen des tages". nun möchte ich im prinzip haben , das er mir irgendwie aus dieser datei einen zufällig rausholt. so in richtung:

    cat blabla | grep -random

    zumindest in der art

    wie realisier ich sowas am einfachsten ? wenn möglich über die bash.

    vielen dank und viele grüsse

    timon

  2. #2
    Registrierter Benutzer
    Registriert seit
    29.12.2001
    Ort
    Berlin
    Beiträge
    231
    Code:
    TEST=`cat blabla`
    # Zufallszahl ;)
    Z=(($RANDOM%7))
    X=(($RANDOM%9))
    ZU=$Z$X
    n=0
    for i in $TEST;do 
         n=$(( $n + 1 ));
         if (( $n == $ZU ));then 
               echo $i;
         fi;
    done
    Mit der Zufallszahl musst du einfach probieren, jedenfalls ist $RANDOM eine integer Zufalls-Zahl.

    T;o)Mes
    Geändert von tomes (03-09-2003 um 20:16 Uhr)
    ************************************************
    Man(n oder Frau) muss nicht alles wissen,
    Man(n oder Frau) muss nur wissen wo es steht !
    ************************************************
    http://www.sandtom.net
    ICQ 176436259

  3. #3
    Registrierter Benutzer
    Registriert seit
    01.10.2002
    Beiträge
    25
    hi tomes,

    vielen dank für deinen code. google grad um ihn zu verstehen

    gibt noch ein prob:

    ./testc: line 9: ((: 8559 == : syntax error: operand expected (error token is " ")
    ist dann diese zeile: if (( $n == $ZU ));then

    werd ich weiterbasteln, danke für diene anregung.

    timon

  4. #4
    Registrierter Benutzer Avatar von phate
    Registriert seit
    14.02.2003
    Beiträge
    149
    Hi timon,

    Deine Variable $ZU scheint keinen Wert zu haben. Füge zu Beginn des Skriptes
    Code:
    set -x
    ein. Dadurch werden die Befehlszeilen nach Variablenexpansion auf dem Bildschirm ausgegeben und Du siehst was tatsächlich ausgeführt wird.

  5. #5
    Registrierter Benutzer Avatar von pitu
    Registriert seit
    07.06.2002
    Ort
    Nürnberg
    Beiträge
    142
    PHP-Code:
    TEST=`cat blabla`  
    # Zufallszahl   
    Z=(($RANDOM%7))  
    X=(($RANDOM%9))  
    ZU=$Z$X 
    Der Ansatz ist soweit Ok, zuerst wird in die Variable Test alles eingelesen, was in der Datei blah blah steht.
    Dann werden 2 integere Zufallszahlen erzeugt und zu einer zufallszahl. damit hast du dann eine zufallszahl von 0-99 ... glaub ich.

    Im naechsten schritt wird alles in $TEST durchgezaelt und das was an der stelle von der zweistelligen zufallszahl steht, ausgegeben. Allerdings wird dort, nun nur ein Wort anstatt einer Zeile ausgegeben

    Daher:
    PHP-Code:
    #!/bin/sh
    Z=(($RANDOM%7))  
    X=(($RANDOM%9))  
    ZU=$Z$X
    head 
    -n $ZU dateimitspruechen tail -n 1 
    "head -n $ZU" druckt aus deiner Datei die ersten $ZU zeilen aus und "tail -n 1" nimmt davon die letzte.

    gruss,
    pitu
    11 Fehler in Windows, 88 Loesungen, 0 funktionieren.

    Dieser Beitrag steht unter der GNU Free Documentation License.

  6. #6
    Registrierter Benutzer
    Registriert seit
    01.10.2002
    Beiträge
    25
    @ pitu vielen dank für die erklärung und die änderung, funzt

    timon

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •