2012-04-03 7 views
0

Ich mache Xcode Dev und überschreibe NSLog, um die Ausgabe in eine Datei zu dumpen, so dass ich ein nützliches Protokollfenster im Gegensatz zu dem Chaos, das derzeit in Xcode ist.Unterdrücken Sie das Datum, die Uhrzeit und den Dateinamen in Tail-Ausgabe

Ich bin mit Schwanz ala das Terminal wie so den Inhalt der Datei anzuzeigen:

tail -f 'iPhone Simulator log.txt' 

Ich frage mich, ob Schwanz die falsche cmd zu bedienen ist. Der Grund dafür ist, dass ich keine zusätzlichen Informationen benötige, die am Anfang jeder Zeile das Datum, die Uhrzeit und den Dateinamen liefern.

Es scheint nicht, dass das Unterdrücken dieser Ausgabe ein Parameter in Tail ist.

Da die Informationen, die ich nicht will enden in "]", wäre es möglich, grep, sed oder awk zu verwenden, um diese Daten aus jeder Zeile zu entfernen und nur den Rest auf den Bildschirm zu werfen, damit ich ein nettes kleines Protokoll der Ausgabe, die ich erstelle, und nichts mehr?

TIA, - Alex

Antwort

1

würde ich cut verwenden: http://www.manpagez.com/man/1/cut/

tail -f 'iPhone Simulator log.txt' | cut -c 25- 

(24 Unter der Annahme, ist die Anzahl der Zeichen, die Sie weg nehmen wollen ..)

+2

Um pedantisch zu sein, würde das 24 Zeichen entfernen. –

+1

Danke, Post ist aktualisiert. :) – barsju

+0

Genauigkeit zählt. Es ist überhaupt nicht pedantisch. Sie rocken Jungs. –

1

Mit sed:

tail -f 'iPhone Simulator log.txt' | sed -e 's/^\[[^]]*\]//' 

Der reguläre Ausdruck ist:

^- beginning of the line 
\[ - start [ 
[^]]* - anything but the ] 
\] - end ] 
+0

Wie seltsam. Das scheint richtig zu sein, tut aber nichts, um die Zeichen loszuwerden. Ich bekomme genau die gleiche Ausgabe. –

0

Hmmm. Angeregt durch Ihre Antwort barsju, habe ich ein wenig herumschnüffeln und das funktioniert:

tail -f 'iPhone Simulator log.txt' | sed -e 's/.*]/]/g' 

Obwohl als wahr mit vielen Dingen regulärer Ausdruck verwendet, ich habe keine Ahnung, warum.

Was ist, obwohl das war unbeabsichtigt und nett war nur löschen bis zu dem Zeichen von Anfang jeder Zeile. Das bedeutet, dass ich am Anfang jeder Zeile eine Charp-Sequenz "Klammerabstand" bekomme. Das ist schön, da dieses kleine unbeabsichtigte Design tatsächlich neue Datenzeilen anzeigt, ohne zu viele Zeichen aufzunehmen.

Dieser Algorithmus sed + regulary expression führt keine Chars am Anfang von Daten auf, die auf mehr als eine Zeile fallen.

Nochmals vielen Dank für Ihre Hilfe zu diesem Thema. Ich habe jetzt meine eigene Xcode-Konsole/Log-Anzeige, die Xcode nicht vermasseln kann.