Bash Pipe

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von wyldstyle, 30. Oktober 2008 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 30. Oktober 2008
    Hallo, ich mache derzeitig ein kleines Bash-Tutorial und komme an einer stelle nicht weiter. Ist denke ich ein Logikproblem:

    Man hat eine Datei erstellt und da Apfel reingeschrieben.

    Aufgabe1:"Lassen Sie sich mit dem Befehl grep alle Zeilen der Datei test.txt
    ausgeben, die das Wort Apfel enthalten."

    -> grep Apfel test.txt soweit so klar aber:

    Aufgabe2:"Mit Hilfe des Pipe-Symbols „|“ können Sie mehrere Befehle hintereinander
    ausführen und die Ausgabe des ersten als Eingabe für den zweiten Befehl
    nutzen. Schreiben Sie eine Befehlsfolge, die die Anzahl der von grep aus der
    vorherigen Teilaufgabe ausgegebenen Zeilen ausgibt."

    Ich versteh nicht wie man da rangehen soll. "grep Apfel test.txt | sort hatte ich gedacht aber das klappt mal garnicht!

    Wäre für Hilfe/Tips dankbar
     
  2. 30. Oktober 2008
    AW: Bash Pipe

    Ein Denkfehler liegt schonmal hier:

    Code:
    grep Apfel test.txt | sort
    Der Befehl lässt nach Apfel suchen und sortiert dann nach dem Alphabet (sort geht übrigens nur richtig, wenn jede Zeile nur einmal vorkommt).

    Das hat doch nix mit Zeilenzählung zu tun, oder sehe ich da was falsch?

    Hier die Befehlsbeschreibung:
    SORT

    Und hier mein Lieblingstutorial:
    Klick

    Und hier etwas, wenn du das HOWTO durch hast:
    Klick
     
  3. 31. Oktober 2008
    AW: Bash Pipe

    Es wäre hilfreich, wenn du sagen würdest, was genau nicht klappt
    Aber Zeilen zählen geht mit wordcount.
    Dazu noch der Parameter -l, damit er Zeilen zählt und keine Wörter:

    grep Apfel test.txt | wc -l
     
  4. 3. November 2008
    AW: Bash Pipe

    Ich verstehe die zweite Fragestellung nicht, da ist der Hund begraben. Bei Aufgabe 1 also "grep apfel test.txt" bekommt man als Ausgabe zeilennummer+gesuchtes Wort.

    Das Problem ist Aufgabe2. Die wollen nen Befehl hören, mit dem ich zuerst das aus Aufgabe 1 mache und dann per Pipe im nächsten Schritt nur die Zeilenanzahl vom ersten grep befehl ausgebe.
    So verstehe ich die Aufgabe zumindest ich finde die Fragestellung total schwammig.
     
  5. 3. November 2008
    AW: Bash Pipe

    Schau dir mal den Parameter c an:
    Code:
     -c, --count only print a count of matching lines per FILE
    Das gibt dir nur die Zeile aus. Das mit der Pipe versteh ich auch ned, es geht ja mit -c.
     
  6. 4. November 2008
    AW: Bash Pipe

    Danke soweit, ich werd am Donnerstag mal an der FH nachfragen ob das da jemand peilt. Vielleicht denke ich auch einfach zu komplex :/. Melde mich hier erneut wenn ich nen neuen Ansatz habe!

    //edit:

    Die Antwort war simpel, der gewollte Befehl muss sein grep apfel pipe wc -l !

    Danke für die Hilfe ich mach hier dicht.
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.