2012-04-03 35 views
0

我正在做Xcode开发,并重写NSLog以将输出转储到文件,以便我可以创建一个有用的日志窗口,与当前在Xcode中的混乱不同。抑制尾部输出中的日期,时间和文件名

我使用尾翼终端显示像这样的文件内容:

tail -f 'iPhone Simulator log.txt' 

我想知道如果尾巴是错误的CMD使用。之所以这样,是因为我不需要在每行开头提供尾部提供的附加信息,日期,时间和文件名。

似乎并没有抑制这个输出是尾部的一个参数。

由于我不想以“]”结尾的信息,是否可以使用grep,sed或awk从每一行中删除数据,并只将剩余的数据转储到屏幕上,以便我可以获得我正在创建的输出的很好的小日志,没有更多?

TIA, - 亚历

回答

1

我会用cuthttp://www.manpagez.com/man/1/cut/

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

(假设24是你想采取的字符数远..)

+2

要迂腐,这将删除24个字符。 – 2012-04-03 19:26:14

+1

谢谢,帖子已更新。 :) – barsju 2012-04-03 19:27:41

+0

准确性计数。这根本不是迂腐。你摇滚的人。 – 2012-04-03 19:29:16

1

使用SED:

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

正则表达式是:

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

奇怪。这似乎是正确的,但没有做任何剥离字符。我得到完全相同的输出。 – 2012-04-04 14:48:59

0

嗯。通过您的回复barsju启发,我做了一个小嗅周围,这个工程:

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

虽然作为真正有许多事情正则表达式相关的,我不知道为什么。

做什么虽然这是无意的,很好只是从每行的开始删除]字符。这意味着我在每行的开始处得到一个“括号空间”字符序列。这很好,因为这种无意的设计实际上很好地表示了新的数据行而不占用太多字符。

此外,此sed +正则表达式方法不会在任何落在多行上的数据的开始处产生任何字符。

再次感谢您对此的所有帮助。我现在有我自己的Xcode控制台/日志读出,Xcode不能搞砸了。