2009-05-12 3 views

Antwort

11

Take a look bei der Option --color (oder), z.

grep --color POST access_log 

verwendet standardmäßig das den „Auto“ -Modus, der nur die Codes Farbe enthält, wenn die Ausgabe an einen Terminal, aber nicht, wenn Sie die Ausgabe mittels Pipelining an anderer Stelle. Wenn Sie möchten, dass die Farben auf etwas anderes als stdout ausgegeben werden, verwenden Sie --color = immer

Sehen Sie die linked article für Möglichkeiten, wie Sie die Farbe ändern und Grep diese Option standardmäßig verwenden können.

+2

Ich habe die --color = immer hinzugefügt, aber das scheint die Chained Greps zu unterbrechen, wahrscheinlich weil die Farbkontrollzeichen von den Regexen aufgenommen werden. Die Lösung, die mir einfiel, war, das erste grep in der Kette am Ende mit der Option --color zu wiederholen. Ich verliere die Färbung der Dateinamen, aber es färbt immer noch die Übereinstimmung, die der wichtige Teil ist. – Herms

8

Probieren Sie den Schalter --color aus.

+0

Wow. jetzt sicher, wie ich das vermisst habe. Eine zusätzliche Frage. Gibt es eine Möglichkeit, die Farbe beizubehalten, wenn man Greife kettet? Ich habe einen Grep zu suchen, einen zweiten zu filtern, um einige Übereinstimmungen herauszufiltern, die ich nicht sehen will. Irgendeine Möglichkeit, die Farbe vom ersten Grep zu erhalten? – Herms

+0

Ich habe meine Antwort mit einem möglichen Weg aktualisiert, wie Sie das tun könnten. –

4

Sie könnten versuchen, die ack tool. Es führt die Hervorhebung standardmäßig aus, iirc.

Eigentlich tut es viele nützliche Dinge standardmäßig. Manche Leute mögen es und ich hoffe, du wirst es auch tun.

Verwandte Themen