2012-04-03 4 views
0

Je fais Xcode dev et je remplace NSLog pour exporter la sortie vers un fichier afin de pouvoir créer une fenêtre de journal utile contrairement au désordre qui est actuellement dans Xcode.Supprimer la date, l'heure et le nom de fichier dans la sortie de queue

J'utilise la queue ala le terminal pour afficher le contenu du fichier comme ceci:

tail -f 'iPhone Simulator log.txt' 

Je me demande si la queue est la mauvaise cmd à utiliser. La raison en est que je n'ai pas besoin des informations supplémentaires que la queue fournit au début de chaque ligne, la date, l'heure et le nom de fichier.

Il ne semble pas que la suppression de cette sortie soit un paramètre en queue. Puisque l'info que je ne veux pas se termine par "]", serait-il possible d'utiliser grep, sed ou awk pour enlever ces données de chaque ligne et de vider le reste à l'écran pour que je puisse obtenir un joli petit journal de la sortie que je crée, et rien de plus?

TIA, - Alex

Répondre

1

J'utilise cut: http://www.manpagez.com/man/1/cut/

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

(En supposant 24 est le nombre de caractères que vous souhaitez emporter ..)

+2

Pour être pédant, cela éliminerait 24 caractères. –

+1

Merci, l'article est mis à jour. :) – barsju

+0

L'exactitude compte. Ce n'est pas pédant du tout. Vous rock les gars. –

1

En utilisant sed:

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

L'expression régulière est:

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

Comment étrange. Cela semble juste, mais ne fait rien pour enlever les caractères. Je reçois exactement la même sortie. –

0

Hmmm. Inspiré par votre barsju de réponse, je l'ai fait un peu renifler et cela fonctionne:

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

Bien que vrai avec beaucoup de choses expression régulière liée, je ne sais pas pourquoi.

Ce qui est fait bien que ce soit involontaire et gentil n'a été supprimé que jusqu'au caractère] du début de chaque ligne. Cela signifie que j'obtiens une séquence de caractères "espace de support" au début de chaque ligne. C'est bien, car ce petit design involontaire indique bien de nouvelles lignes de données sans prendre trop de caractères. En outre, cette approche d'expression régulière + sed ne nuque aucun caractère au début de toutes les données qui tombent sur plus d'une ligne.

Encore merci pour votre aide. J'ai maintenant ma propre console Xcode/lecture de journal que Xcode ne peut pas bousiller.

Questions connexes