grep in Farbe

Die meisten “Command-Line-Jockeys”, die sich auf *NIX-artigen Systemen bewegen, sind wohl schon einmal mit grep in Berührung gekommen. Mit Hilfe dieses Programms lässt sich, mehr oder weniger komfortabel, in Text-Dateien suchenJa ich weiß, nicht nur in Text-Dateien, aber darum geht es momentan nicht. ;-) . Das mehr oder weniger hebt sein hässliches Haupt beispielsweise dann, wenn man in Docbook-strukturierten Dateien nach einem Begriff suchen sollte.

Nehmen wir einmal an, wir suchen nach Entities:

Abbildung Beispiel im Terminal (normal)

Diese werden uns, aufgrund des benutzten regulären Ausdrucks (\&.*\; = alles was mit “&” beginnt und mit “;” endet), zwar brav angezeigt, die Ausgabe ist allerdings alles andere als übersichtlich; vor allem, wenn die Fundstellen innerhalb von längeren Zeilen liegen. Anders gesagt, man muss schon genauer hinsehen. Aber es sollte doch auch etwas komfortabler gehen, oder? Richtig:

Abbildung Beispiel im Terminal (Farbe)

Fast der gleiche Befehl wie vorher, nur wird grep diesmal mit der Option --color angewiesen, die gefundenen Strings einzufärben. Wesentlich angenehmer, IMHO. ;-)

Technorati Tags: , ,

This entry was posted in Computer, MMMDM Continued, OS X, Produktivität and tagged , . Bookmark the permalink.

6 Responses to grep in Farbe

  1. Tilman Baumann says:

    Welche Grep-Version ist das?

    Mein Gnu-Grep kann das nicht.

    man grep|grep color -> nichts

  2. Erik says:

    GNU grep 2.5.1, wenn ich allerdings Deinen Befehl benutze, kommt bei mir auch kein Ergebnis. Das liegt daran, dass “man grep” nur die erste Seite der man-Page übermittelt, auf dieser steht jedoch noch nichts von “color”.
    Der Befehl sollte so aussehen:

    $ > man grep | col -b | grep color

    dann kommt diese Zeile, allerdings nicht sonderlich aussagekräftig. ;-)
    –colour[=WHEN], –color[=WHEN]

    Beim GNU grep steht die Erklärung irgendwo auf der zweiten oder dritten Seite, wenn man “man grep” einfach aufruft.

    Best,
    Erik

  3. Tilman Baumann says:

    Noe, man grep in einen FD der kein tty ist bringt die ganze manpage.
    Testen mit man grep|cat

    Wie auch immer. Ich wollte damit nur andeutetn das in meiner manpage nichts zu der option steht und das grep sie auch nicht kennt.

    > grep –version
    grep (GNU grep) 2.5.1

    Debian unstable.

    Wie auch immer. Muss wohl daran liegen wie mein Grep gebaut wurde.

  4. Erik says:

    Also ich bekomme auf “man grep | grep color” auch keine Anzeige (OS X 10.4.8), aber wenn ich den Befehl wie beschrieben absetze, kommt die gezeigte Zeile. Was sagt denn “grep –help”?

    Die Optionen “–colour” und “–color” werden (bei mir) ziemlich zum Schluss erwähnt, ausserdem wird die Ausgabe auch noch vom (optionalen) WHEN beeinflusst. Laut man-Page sieht die Syntax dann so aus:

    –color=WHEN

    wobei WHEN auf ‘never’, ‘always’ und ‘auto’ stehen kann. Evtl. ist Deine grep Version ja mit ‘never’ kompiliert worden.

    Schade, dass es bei Dir anscheinend nicht funktioniert. :-(

    Best,
    Erik

  5. Tilman Baumann says:

    Oeh. Ok. Nun bin ich verwirrt.

    Die manpage erwaehnt die Option nicht. grep –help jedoch schon.

    Ich muss lediglich –color schreiben nicht -color (war eigentlich logisch)

    Danke. Cooler Tip. Nun um so mehr. :)

  6. Erik says:

    Ooops, jetzt ist mir gerade etwas aufgefallen, die Option heisst “–color” (also [hyphen][hyphen]color). WP scheint die zwei Bindestriche zusammenzulegen.
    [Ich hasse es, wenn Programme "helfen" wollen.]

    Best,
    Erik

    [Mal sehen, ob es jetzt funktioniert. Deswegen auch die Screenshots im Beitrag.]

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>