更好的解决方案:tail -200 /var/log/messages |头-100

更好的解决方案:tail -200 /var/log/messages |头-100

对此有更好的解决方案吗?

tail -200 /var/log/messages | head -100

还有其他方法可以实现此输出吗? (不是更复杂,我正在寻找更简单的解决方案!)

答案1

如果您想以交互方式浏览文件,只需使用less log.您可以通过帮助屏幕退出 less qh会话示例:

:G
:1000k
:100
:f
:b

(意思是:跳到最后,向上移动1000行,向下移动100行,向前一屏,向后一屏)

答案2

如果你知道起始行号(从文件开头算起),你可以sed像这样使用间隔输出上面的行:

$ for i in `seq 500`; do echo $i; done > t
$ sed -n '300,400p' t
300
...
400

(打印第 300 到 400 行)

如果您不知道起始行(sed 行话中的地址),您可以反转输入,再次使用 sed 和 reverese:

$ tac t | sed -n '101,201p' | tac
300
...
400

您还可以将 sed 与起始地址一起使用,并指定应打印以下行数:

$ tac t | sed -n '101,+100p' | tac
300
...
400

相关内容