You must first understand the two most basic commands:
Tail-n test.log query log at the end of the last 10 lines;
Tail-n +10 test.log Query all logs after 10 lines;
Head-n test.log Query log file in the first 10 rows of logs;
Head-n -10 test.log query log file except for all other logs in the last 10 lines;
Scenario 1: View by line number---filter out logs near keywords
Because we usually get a few logs with grep, we need to look at the logs nearby.
That's what I did, first: cat-n test.log |grep "terrain" gets the line number of the critical log
<3> get the "terrain" keyword where the line number is 102 rows. At this point if I want to see the first 10 lines of this keyword and the last 10 lines of the log:
Cat-n Test.log |tail-n +92|head-n 20
Tail-n +92 indicates a log after querying 92 rows
Head-n 20 indicates that the first 20 records are checked in the previous query results.
Scenario 2: So what do we do by date? Usually we really need to find the logs at the specified time end.
Sed-n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p ' Test.log
Special Note: The above two date must be the log printed in the log, otherwise invalid.
For date printing, you can first grep ' 2014-12-17 16:17:20 ' test.log to determine if there is a point in the log to ensure that the 4th step can get the log
This is a very useful command for querying logs based on time periods.
6
If we look for a lot of logs, printing on the screen is not easy to view, there are two ways:
(1) Use the more and less commands, such as: Cat-n test.log |grep "terrain" |more so that the page printing, by clicking the Space bar to page
(2) using >xxx.txt to save it to a file, you can pull down this file analysis. For example:
Cat-n test.log |grep "Terrain" >xxx.txt
These log viewing methods should be available to meet your daily needs.
Linux Find log Tips