Intern tauschen wir in unserem sonnenbeschienenen Verlag kleine Bilder von Max - wir verehren ihn mit religiöser Inbrunst.
Wenn ich betrunken bin, fange ich an zu erzählen, was Max alles kann. Wenn ich betrunken bin und Max ist dabei, erklärt er mir die Welt wie ein allwissender Werthers-Echte-Opa seinem staunenden Enkel. Er erzählt mir dann beispielsweise von physikalischen Phänomenen, gegen die Geschichten vom Weihnachtshasen und vom Ostermann realistisch klingen. Oder er erklärt mir Artikel von Andreas:
Pipes kommen von der Unix Shell und stellen nichts weiter dar als
eine Technik, mit der man die Ausgabe eines Programmes direkt als
Eingabe eines anderen Programms verwendet. Dadurch brauchen Unix
Programme im Allgemeinen nur sehr wenig zu können, um trotzdem
sinnvoll zu sein.Beispiel:
cat mail.txt | grep Max | wc -l
cat ist ein Befehl der Textdateien auf dem Bildschirm anzeigt, in dem
Fall die Datei mail.txt. Durch das Pipe-Symbol „|“ wird der Inhalt
jedoch nicht auf dem Bildschirm angezeigt, sondern an grep
weitergeleitet, das „nur“ suchen kann. grep wĂĽrde mir normalerweise
alle Fundstellen eines Wortes zeigen. Allerdings leite ich es durch
die nächste pipe an „wc“ weiter, was so viel heisst wie „word count“.
-l steht fĂĽr „Lines“, also zählt wc die Zeilen statt Worte. Mit der
Zeile von oben habe ich mir also dank Pipes eine Art Miniprogramm
geschrieben, dass mir Auzsgib wie oft das Wort Max in der Datei
mail.txt vorkommt.Yahoo Pipes ist jetzt ein Versuch dieses Prinzip aufs Internet zu
übertragen und für jedermann zugänglich zu machen. Nicht der erste
Versuch und nicht der letzte und bestimmt nicht der beste. Vielleicht
bin ich auch nur so kritisch, weil es mir bis jetzt nicht gelungen
ist damit ĂĽberhaupt nur irgendwas hinzubekommen, geschweige denn was
sinnvolles.
Max weist im Ăśbrigen darauf hin, dass es ihm durchaus bewusst ist, dass
„grep“ Dateien auch direkt einlesen kann.

01
grep -c Max mail.txt
Alle Kommentare von seb
02
Müsste es nicht korrekterweise heißen: „Mit der Zeile von oben habe ich mir also dank Pipes eine Art Miniprogramm geschrieben, das mir ausgibt in wie vielen Zeilen das Wort Max in der Datei mail.txt vorkommt.“
Alle Kommentare von gissi
03
@gissi: eigentlich schon, aber bei spreeblick dĂĽrfen die das auch anders =)
Alle Kommentare von mc_o
04
Und im nächsten Artikel wird dann erklärt, was ein “useless use of cat” ist, und warum dieser unter allen Umständen bekämpft werden muss :-)
Alle Kommentare von Christian
05
Max wollte doch nur endlich auch mal einen Award bekommen und wenn es nur der “useless use of cat”-Award ist.
Alle Kommentare von Thomas
06
Klasse Sache so ein Max. Den sollte man bei eBay versteigern oder vermieten …
Alle Kommentare von micha
07
Mir drängt sich die Frage auf welchen weltverändernden Sinn die Information über die Anzahl der Zeilen in der ein Wort in einer Datei vorkommt für Jemanden hat. Oder sind hier alle Hobbystatistiker?
Alle Kommentare von Michael
08
Och Michael, da gibt es einiges. Logfile-Analyse z.B. Wie oft hat ein User…, Browserzähler…, wieviele Hits an Samstagen…, …
Alle Kommentare von jovelstefan
09
Ah, das ist also dieser legendäre “cat content” (SCNR)
Alle Kommentare von diaet
10
Seit wann ist ‘cat content’ sinnlos/nutzlos?
Alle Kommentare von Armin
11
Dank Malte, danke Max, jetzt hab ichs verstanden.
Alle Kommentare von Lockengelöt
12
Michael, fĂĽr Korpuslinguisten bedeuten genau solche Zahlen das Paradies mit vielen Jungfrauen drin. (Wörter wie “Textkorpora” an sich fĂĽhren da schon in mittlere Extase.)
Im Ăśbrigen mag ich cat und grep und wc auch viel, viel lieber als Pipes. Aber das ist das Alter…
Alle Kommentare von ntropie
13
@Antworten: aha, na wer’s braucht ^^
Alle Kommentare von Michael
14
Hi,
> -l steht für „Lines“, also zählt wc die Zeilen statt Worte.
…
> wie oft das Wort Max in der Datei mail.txt vorkommt.
was denn nun ?!?
Gruss,
PvW
Alle Kommentare von Phil
15
pro Fundstelle wird eine Zeile ausgegeben. Also stimmt beides.
Alle Kommentare von Max
16
Ja danke, jetzt habe ich es auch verstanden.
Die Telefonanrufe=>MP3 auf 343m sind doch dann eigentlich auch Pipe Produkte, oder?
Alle Kommentare von JKE
17
Neee… Das ist schon ein “normales” Programm. Klar funktionieren alle Programme so ähnlich, aber als Pipes bezeichnet man eben nur diese Anwendung.
Alle Kommentare von Max
18
@Max:
Nein! Wenn in einer Zeile mehrmals das Wort Max vorkommt, wird dennoch von grep nur _eine_ Zeile ausgegeben. Wie bereits gesagt zählt dein Programm nur die Anzahl der Zeilen, in denen (einmal oder öfter) das Wort Max vorkommt, nicht aber die Anzahl der Maxe.
Alle Kommentare von gissi
19
Ja, gissi, du hast recht. Wie du oben lesen kannst ging es um eine schneller, kurze Mail. Ich brauchte einfach nur schnell ein simples, nachvollziehbares Beispiel. Das dieses Beispiel nicht Nerdfest ist war mir von Anfang an klar - es ging lediglich darum zu erläutern, was Pipes sind. Ich glaube, das macht es auch. (Im Groben funktioniert das Beispiel ja auch.)
Alle Kommentare von Max
20
Allerdings leite ich es durch die nächste pipe an „wc“ weiter, was so viel heisst wie „word count“.
-l steht für „Lines“, also zählt wc die Zeilen statt Worte.
Deswegen find ich das ganze Unix-Gezuppel unerträglich (und danke dem Herr J., dass man bei OS X nich soviel davon mitbekommt).
“Wenn ich in die Kneipe gehe, sag ich *Yo!*, dann krieg ich ein Bier. Allerdings zeig ich dem Wirt einen Vogel dabei, also krieg ich einen Bourbon.”
Warum kann man nicht einfach “lc” - Line Count formulieren?
Alle Kommentare von Acid
21
ihr versteht aber noch, wovon ihr hier redet, ja?
Alle Kommentare von Malte
22
Kannst du, wenn du magst. Der Befehl dafĂĽr lautet: alias lc=”wc -l” .
Alle Kommentare von Max
23
Also wĂĽrde “cat mail.txt | grep Max | lc” zum selben Ergebnis fĂĽhren?
Hm… zu #20 (gissi)
Gibbet auch einen Befehl, dass er die Zeilen, in denen das Wort öfter als 1x vorkommt, gesondert zählt?
Das wĂĽrde beim Schreiben sicherlich helfen. Texte in denen sich Worte zu oft wiederholen, langweilen schnell.
Alle Kommentare von Acid
24
@acid: wenn man vorher mit alias den Befehl erzeugt, dann ja.
Alle Kommentare von Max
25
Cool - dann find ich Unix-Gezuppel ab sofort nicht mehr (so) furchtbar.
Kann z.B. LaTeX explizit diesen Befehl?
Alle Kommentare von Acid
26
Mit LaTeX kenne ich mich sowas von ĂĽberhaupt nicht aus.
Alle Kommentare von Max
27
@Acid (#25)
Ich wĂĽrde quick&dirty folgenden Befehl verwenden: “cat mail.txt | tr ‘[:space:]‘ ‘\n’ | grep -c Max”. Der mittlere Teil sorgt dafĂĽr, dass alle Leerzeichen/Tabulatoren zu ZeilenumbrĂĽchen werden. Allerdings wird dann bei Sachen wie Max-zu-Max-Verbindung trotzdem nur ein Max gezählt. Bestimmt gibt es fĂĽr diese Aufgabe auch einen eleganteren Weg :-).
Alle Kommentare von gissi
28
@Acid (25):
Inwiefern beziehst du das jetzt auf LaTeX? Welchen Befehl soll LaTeX können?
Alle Kommentare von flokru