Shell Fragen/Antworten Thread

Hinweis: In dem Thema Shell Fragen/Antworten Thread gibt es 8 Antworten. Der letzte Beitrag () befindet sich ganz unten auf dieser Seite.
  • In diesem Thread können User "Aufgaben" stellen welche von anderen Usern gelöst werden können.


    Beachtet aber bitte folgendes:

    • Nur Fragen welche die Shell und Shell Scripte betreffen


    • Bei einer gestellten Frage muss auch die Lösung vorhanden sein.
      Fragen bezüglich eines Problems gehören ins Forum.


    Und vor allem:


    Viel Spass beim Lösen der "Kopfnüsse" :D

    Für den Inhalt des Beitrages 34747 haftet ausdrücklich der jeweilige Autor: D_Dau

  • Ein Klassiker für Anfänger :)


    Erstelle eine Textdatei mit folgendem Inhalt:

    Code
    Der Delphin schwimmt im Wasser.


    Ersetze mit der Shell Delphin gegen Delfin.



    Kleiner Tipp für Anfänger: sed

    Für den Inhalt des Beitrages 34794 haftet ausdrücklich der jeweilige Autor: D_Dau

  • Code
    sed 's/Delphin/Delfin/g' Textdatei


    oder


    Code
    sed 's/Delphin/Delfin/g' Textdatei > Neuedatei


    :smilie_school_012:

    Für den Inhalt des Beitrages 34868 haftet ausdrücklich der jeweilige Autor: Andi78

  • Code
    sed 's/Delphin/Delfin/g' Textdatei > Neuedatei


    Ist Richtig.



    Code
    sed 's/Delphin/Delfin/g' Textdatei


    Funktioniert allerdings so nicht ganz.
    Hierbei wird die Änderung nur in der Shell angezeigt
    aber nicht in der Textdatei geändert.


    Sed muss mit der Option -i aufgerufen werden damit es Funktioniert:

    Code
    sed -i 's/Delphin/Delfin/g' Textdatei

    Für den Inhalt des Beitrages 34906 haftet ausdrücklich der jeweilige Autor: D_Dau

  • so da hier ja schon längere zeit keine Aufgabe mehr gestellt wurde will ich mal eine stellen


    erstellt mithilfe des Terminals eine Textdatei mit dem Inhalt


    Zitat

    Hallo
    Welt!


    regeln: Der Befehl sollte aus einer Zeile bestehen und nach Möglichkeit einen Zeilenumbruch beherbergen.


    viel Spaß beim lösen :)



    tipp: echo

  • Mache den folgenden string mit einem Befehl für alle bash scripte verarbeitbar.
    Auf gut denglisch: Quote den string mit einem Befehl.


    'Dies ist eine URL http://www.google de. In einer URL dürfen keine \ vorkommen. [ sind erlaubt. Sie werden verwendet um IPv6 Adressen von Portangaben unterschieden zu können. z.B. http://[0Ef::4C3]:8080. Außerdem kennt die shell noch ein paar Sonderzeichen mehr: ( ) & ! [ } . DAs kann ganz schön kompliziert werden....'



    Hinweis: Das ganze erledigt ein builtin kommando der bash. Sehr elegant und sehr hilfreich.

    Für den Inhalt des Beitrages 42672 haftet ausdrücklich der jeweilige Autor: uhelp

  • ist ganz einfach:


    Code
    printf %q string


    also in diesem Falle:

    Code
    printf %q 'Dies ist eine URL http://www.google
     de. In einer URL dürfen keine \ vorkommen. [ sind erlaubt. Sie werden 
    verwendet um IPv6 Adressen von Portangaben unterschieden zu können. z.B.
     http://[0Ef::4C3]:8080. Außerdem kennt die shell noch ein paar 
    Sonderzeichen mehr: ( ) & ! [ } . DAs kann ganz schön kompliziert 
    werden....'


    printf ist nicht nur eine builtin Funktion. sie ist auch jedem C Coder eine gute Bekannte.
    Und so ziemlich überall nützlich.

    Code
    help printf


    gibt einen kurzen Überblick, nennt aber leider lange nicht alle Möglichkeiten die man damit hat.
    Auch wenn es etwas ungewöhlich sein mag, lohnt sich hier auch der Blick zu "man printf" und in "man 3 printf".
    Zu dem bash builtin "printf" gibt es auch noch ein binary mit gleichem Namen. Man kann dieses binary leicht selber rufen indem man dem Aufruf von "printf" ein "command" voraus stellt

    Code
    command printf <format> <string oder var>

    2 Mal editiert, zuletzt von uhelp ()

    Für den Inhalt des Beitrages 42688 haftet ausdrücklich der jeweilige Autor: uhelp

  • Neue Aufgabe:


    Konfiguriere in einer Shell eine serielle Schnittstelle mit dem Programm stty mit folgender Parametrierung.


    Baudrate: 9600
    Datenbits: 8
    Stopbits: 1
    Parity: None


    ( 8N1 )


    Der angeschossene µC feuert immer den Wert in einer while Schleife mit 200ms Pause zurück, der empfangen wurde.


    Sende einen Hexadezimalwert "4F" und kontrolliere das Ergebnis mit dem cat Befehl in der shell.


    Viel Spaß beim Knobeln.

    Kaum macht man´s richtig, schon geht´s.

    Für den Inhalt des Beitrages 108085 haftet ausdrücklich der jeweilige Autor: griwl