一尘不染

快速的UNIX命令在文件中间显示特定行?

linux

尝试调试服务器问题,而我唯一的日志文件是20GB的日志文件(甚至没有时间戳!为什么人们将其System.out.println()用作日志记录?在生产中?)

使用grep,我找到了要查看的文件区域,行347340107。

除了做类似的事情

head -<$LINENUM + 10> filename | tail -20

…这将需要head通读日志文件的前三亿四千七百万行,是否有一种快速简单的命令将347340100-347340200(例如)行转储到控制台?

更新 我完全忘记了grep可以在比赛中打印上下文…这很好用。谢谢!


阅读 349

收藏
2020-06-07

共1个答案

一尘不染

使用GNU-grep,您可以说

grep --context = 10 ...
2020-06-07