Unix 禁止在尾部输出中显示日期、时间和文件名

Unix 禁止在尾部输出中显示日期、时间和文件名,unix,sed,awk,grep,tail,Unix,Sed,Awk,Grep,Tail,我正在做Xcode开发,并覆盖NSLog以将输出转储到一个文件中,这样我就可以创建一个有用的日志窗口,而不像当前Xcode中的混乱 我使用终端显示文件内容,如下所示: tail -f 'iPhone Simulator log.txt' 我想知道tail是不是用错了cmd。原因是我不需要tail在每行开头提供的附加信息,即日期、时间和文件名 抑制此输出似乎不是尾部的一个参数 既然我不想要的信息以“]”结尾,那么是否可以使用grep、sed或awk从每一行中删除这些数据,只将其余的数据转储到屏幕

我正在做Xcode开发,并覆盖NSLog以将输出转储到一个文件中,这样我就可以创建一个有用的日志窗口,而不像当前Xcode中的混乱

我使用终端显示文件内容,如下所示:

tail -f 'iPhone Simulator log.txt'
我想知道tail是不是用错了cmd。原因是我不需要tail在每行开头提供的附加信息,即日期、时间和文件名

抑制此输出似乎不是尾部的一个参数

既然我不想要的信息以“]”结尾,那么是否可以使用grep、sed或awk从每一行中删除这些数据,只将其余的数据转储到屏幕上,这样我就可以获得我正在创建的输出的一个很好的小日志,而不需要更多

蒂亚,
-亚历克斯

我会使用
cut

(假设24是要删除的字符数…)

使用sed:

tail -f 'iPhone Simulator log.txt' | sed -e 's/^\[[^]]*\]//'
正则表达式是:

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

嗯。受你回复barsju的启发,我四处嗅了嗅,这很管用:

tail -f 'iPhone Simulator log.txt' | sed -e 's/.*]/]/g'
虽然与正则表达式相关的许多事情都是如此,但我不知道为什么

虽然这是无意的,但它所做的只是从每行开头删除最多]个字符。这意味着我在每一行的开头都有一个“括号空间”字符序列。这很好,因为这一点无意的设计实际上很好地指示了新的数据行,而不占用太多字符

此外,这种sed+正则表达式方法不会在落在多行上的任何数据的开头添加任何字符


再次感谢您在这方面的帮助。我现在有了自己的Xcode控制台/日志读数,Xcode不会出错。

为了学究,这将删除24个字符。准确度很重要。一点也不迂腐。你们这些摇滚小子,啊。这会杀死任何文本中的前25个字符,这些字符会流到下一行。嘿,伙计们。这最终没有起作用。你还在跟帖吗?真奇怪。这似乎是对的,但并没有起到任何作用。我得到了完全相同的输出。
tail -f 'iPhone Simulator log.txt' | sed -e 's/.*]/]/g'