.titleBar { margin-bottom: 5px!important; }

Stringbearbeitung in Script

Dieses Thema im Forum "FRITZ!Box Fon: Modifikationen" wurde erstellt von iwan, 10 Juli 2005.

  1. iwan

    iwan Neuer User

    Registriert seit:
    3 Okt. 2004
    Beiträge:
    9
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich möchte mir eine kleines script für die FBF schreiben. Ich suche nach einer Möglichkeit z.B. nur die ersten 20 Zeichen eines Strings weiterzuverarbeiten:
    z.B.
    Ausgangeswert:
    $myvar1 => "ich hätte gerne nur 20 Zeichen"

    Resultat:
    $myvar1 => "ich hätte gerne nur "

    Wie mache ich das?
     
  2. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    2
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Hi.
    War gar nicht so einfach! :)
    Code:
    /var/tmp # ./test
    string:
    abcdefgh
    substring:
    bcde
    /var/tmp #
    Code:
    #!/bin/sh
    stringZ=abcdefgh
    echo "string:"
    echo $stringZ
    echo "substring:"
    echo|expr substr $stringZ 2 4
    MfG Oliver
     
  3. iwan

    iwan Neuer User

    Registriert seit:
    3 Okt. 2004
    Beiträge:
    9
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi,
    Danke erst mal, aber expr kennt die busybox der FBF nicht:
    -sh: expr: not found
    gibt's noch ne Möglichkeit?
    irgendwas mit "sed" vielleicht?
     
  4. rajo

    rajo Admin-Team

    Registriert seit:
    31 März 2004
    Beiträge:
    1,958
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Also mit sed fällt mir nix ein, aber wenn die busybox cut kennt, probier mal das:

    Code:
    rainer@marvin:~$ echo "ich htte gerne nur 20 Zeichen" | cut -c 0-20
    ich htte gerne nur 2
    rainer@marvin:~$
    
     
  5. buehmann

    buehmann Aktives Mitglied

    Registriert seit:
    11 Juni 2005
    Beiträge:
    1,810
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    So zum Beispiel?
    Code:
    sed -e 's/\(.\{0,20\}\).*/\1/'
     
  6. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    2
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Sorry, aber meine busybox kennt expr.
    Die original busybox auf der Fritz kann auch kein sed, oder?

    MfG Oliver
     
  7. iwan

    iwan Neuer User

    Registriert seit:
    3 Okt. 2004
    Beiträge:
    9
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @olistudent: sed geht mit der original busybox.

    @rajo: danke, aber cut kann die busybox auch nicht

    @buehmann: danke, werd ich mal ausprobieren.

    Wenn das mit 'sed' nicht geht, werde ich halt mal die busybox auswechseln.