好吧,假设我有一个名为system.log
的文件,在这个文件中有数千行日志。
在这些内容中,有几行我想看。
Jun 20 18:28:54 Wills-MacBook-Pro SpringBoard[75216]: MyApp
initialized.
Jun 20 18:28:54 Wills-MacBook-Pro SpringBoard[75216]: MyApp error on
line 2
我想在控制台中看到它们,但不是
Jun 20 18:28:54 Wills-MacBook-Pro SpringBoard[75216]: SomethingElse initialized.
有点像
tail -f system.log (echo if MyApp in line)
这样的事情可能吗?
答案 0 :(得分:1)
是的,只需通过grep
命令管道。
tail -f system.log | grep MyApp
答案 1 :(得分:1)
除了此处的其他答案外,我建议您使用multitail
。
它很直观。
以下是我如何使用它过滤掉感兴趣的行并将它们附加到新的日志文件
multitail -e "MyApp" system.log
-e
用于正则表达式,后跟标准。
此外,您只需添加追加标记即可将所有匹配项保存到新文件中。
multitail -a append_to_new_file.log -e "MyApp" system.log
Here's the man page for more info 你可以找到更多例子here
答案 2 :(得分:0)
在这些行中有几行我想看
然后你不应该使用tail
命令,因为它只输出最后10行。
溶胶是
cat system.log | grep MyApp
一个简单的grep流水线操作就可以了。