I am in the process of learning AWK and looking to print some data in a range, only if a certain prerequisite field condition is met. Consider the following sample data from file.log:
[2018-02-12 16:31:09.236 host.domain INFO {97537}] Requests in progress: 0
>>>>>
<<<<<
[2018-02-12 16:32:09.296 host.domain INFO {97537}] Requests in progress: 1
>>>>>
[2018-02-12--16-32-09-230--XkR86Qrc3AQAAOoXT-0AAAJU--App.ts=68
<<<<<
[2018-02-12 16:33:09.357 host.domain INFO {97537}] Requests in progress: 0
>>>>>
<<<<<
[2018-02-12 16:34:09.418 host.domain INFO {97537}] Requests in progress: 1
>>>>>
[2018-02-12--16-34-09-254--XkR9YQrc3AQAAQY1AgoAAAAA--App.ts=164
<<<<<
[2018-02-12 16:35:09.479 host.domain INFO {97537}] Requests in progress: 0
>>>>>
<<<<<
[2018-02-12 16:36:09.540 host.domain INFO {97537}] Requests in progress: 0
>>>>>
<<<<<
[2018-08-03 13:22:17.662 host.domain INFO {97537}] Requests in progress: 13
>>>>>
2018-08-03--13-18-55-228--XkrnHwrc3AQAABIILK8AAAJK--App.ts=202424
2018-08-03--13-19-18-389--XkrnNgrc3AQAAFePAbgAAABJ--App.ts=179263
2018-08-03--13-19-22-580--XkrnOgrc3AQAABZ7n6sAAAKN--App.ts=175073
2018-08-03--13-19-57-629--XkrnXQrc3AQAAHJps8MAAAEN--App.ts=140024
2018-08-03--13-20-38-385--Xkrnhgrc3AQAAC8IRFUAAAAV--App.ts=99268
2018-08-03--13-20-39-571--Xkrnhwrc3AQAABIF-GIAAAFT--App.ts=98082
2018-08-03--13-21-03-828--Xkrnnwrc3AQAABZ7oDwAAAKU--App.ts=73824
2018-08-03--13-21-34-179--Xkrnvgrc3AQAABIF-K4AAAFM--App.ts=43474
2018-08-03--13-21-34-491--Xkrnvgrc3AQAABIHyHwAAAIH--App.ts=43161
2018-08-03--13-21-35-482--Xkrnvwrc3AQAAX9IOogAAANC--App.ts=42171
2018-08-03--13-22-17-285--Xkrn6Qrc3AQAAX-mZFUAAAOQ--Mover.ts=367
2018-08-03--13-22-17-319--Xkrn6Qrc3AQAAMaqSowAAAGX--Mover.ts=334
2018-08-03--13-22-17-638--Xkrn6Qrc3AQAABIHyJQAAAIS--Mover.ts=15
<<<<<
[2018-08-03 13:23:17.724 host.domain INFO {97537}] Requests in progress: 19
>>>>>
2018-08-03--13-18-55-228--XkrnHwrc3AQAABIILK8AAAJK--App.ts=262496
2018-08-03--13-19-18-389--XkrnNgrc3AQAAFePAbgAAABJ--App.ts=239335
2018-08-03--13-19-22-580--XkrnOgrc3AQAABZ7n6sAAAKN--App.ts=235145
2018-08-03--13-19-57-629--XkrnXQrc3AQAAHJps8MAAAEN--App.ts=200096
2018-08-03--13-20-38-385--Xkrnhgrc3AQAAC8IRFUAAAAV--App.ts=159340
2018-08-03--13-20-39-571--Xkrnhwrc3AQAABIF-GIAAAFT--App.ts=158154
2018-08-03--13-21-03-828--Xkrnnwrc3AQAABZ7oDwAAAKU--App.ts=133896
2018-08-03--13-21-34-179--Xkrnvgrc3AQAABIF-K4AAAFM--App.ts=103546
2018-08-03--13-21-34-491--Xkrnvgrc3AQAABIHyHwAAAIH--App.ts=103233
2018-08-03--13-21-35-482--Xkrnvwrc3AQAAX9IOogAAANC--App.ts=102243
2018-08-03--13-22-28-622--Xkrn9Arc3AQAAHJptG4AAAED--App.ts=49102
2018-08-03--13-22-35-159--Xkrn@wrc3AQAAHJptHQAAAEU--App.ts=42566
2018-08-03--13-22-43-351--XkroAwrc3AQAABIHyLEAAAIK--App.ts=34373
2018-08-03--13-22-49-016--XkroCQrc3AQAABIF-PAAAAFL--App.ts=28708
2018-08-03--13-22-51-626--XkroCwrc3AQAABIHyL0AAAIP--App.ts=26097
2018-08-03--13-23-02-371--XkroFgrc3AQAAXcCgAkAAADD--App.ts=15354
2018-08-03--13-23-13-733--XkroIQrc3AQAAX-mZM8AAAOF--App.ts=3992
2018-08-03--13-23-16-514--XkroJArc3AQAAAyr2DIAAAME--App.ts=1210
2018-08-03--13-23-17-707--XkroJQrc3AQAAWUa5a0AAALJ--App.ts=18
<<<<<
[2018-08-03 13:24:17.791 host.domain INFO {97537}] Requests in progress: 29
>>>>>
2018-08-03--13-18-55-228--XkrnHwrc3AQAABIILK8AAAJK--App.ts=322561
2018-08-03--13-19-18-389--XkrnNgrc3AQAAFePAbgAAABJ--App.ts=299400
2018-08-03--13-19-22-580--XkrnOgrc3AQAABZ7n6sAAAKN--App.ts=295210
2018-08-03--13-19-57-629--XkrnXQrc3AQAAHJps8MAAAEN--App.ts=260161
2018-08-03--13-20-38-385--Xkrnhgrc3AQAAC8IRFUAAAAV--App.ts=219405
2018-08-03--13-20-39-571--Xkrnhwrc3AQAABIF-GIAAAFT--App.ts=218219
2018-08-03--13-21-03-828--Xkrnnwrc3AQAABZ7oDwAAAKU--App.ts=193961
2018-08-03--13-21-34-179--Xkrnvgrc3AQAABIF-K4AAAFM--App.ts=163611
2018-08-03--13-21-34-491--Xkrnvgrc3AQAABIHyHwAAAIH--App.ts=163298
2018-08-03--13-21-35-482--Xkrnvwrc3AQAAX9IOogAAANC--App.ts=162308
2018-08-03--13-22-28-622--Xkrn9Arc3AQAAHJptG4AAAED--App.ts=109167
2018-08-03--13-22-35-159--Xkrn@wrc3AQAAHJptHQAAAEU--App.ts=102631
2018-08-03--13-22-43-351--XkroAwrc3AQAABIHyLEAAAIK--App.ts=94438
2018-08-03--13-22-49-016--XkroCQrc3AQAABIF-PAAAAFL--App.ts=88773
2018-08-03--13-22-51-626--XkroCwrc3AQAABIHyL0AAAIP--App.ts=86162
2018-08-03--13-23-02-371--XkroFgrc3AQAAXcCgAkAAADD--App.ts=75419
2018-08-03--13-23-13-733--XkroIQrc3AQAAX-mZM8AAAOF--App.ts=64057
2018-08-03--13-23-16-514--XkroJArc3AQAAAyr2DIAAAME--App.ts=61275
2018-08-03--13-23-22-313--XkroKgrc3AQAAXcCgHcAAADY--App.ts=55477
2018-08-03--13-23-44-484--XkroQArc3AQAAC81pNEAAACV--App.ts=33304
2018-08-03--13-23-44-539--XkroQArc3AQAAFePA34AAABH--App.ts=33250
2018-08-03--13-23-44-715--XkroQArc3AQAAXcCgJQAAADR--App.ts=33074
2018-08-03--13-23-45-083--XkroQQrc3AQAABIILlYAAAJO--App.ts=32706
2018-08-03--13-23-46-094--XkroQgrc3AQAAC81pNIAAACY--App.ts=31695
2018-08-03--13-24-01-244--XkroUQrc3AQAABIILm8AAAJS--App.ts=16545
2018-08-03--13-24-06-048--XkroVgrc3AQAAX9IO1wAAANK--App.ts=11742
2018-08-03--13-24-06-341--XkroVgrc3AQAAHJptSEAAAEM--App.ts=11449
2018-08-03--13-24-06-360--XkroVgrc3AQAAXcCgMwAAADH--App.ts=11429
2018-08-03--13-24-12-436--XkroXArc3AQAAX-mZUMAAAOA--App.ts=5353
<<<<<
The goal here is to find and print all line sections with "Requests in progress" that are > or = 10, print those lines below until their endings (at <<<<<) and preferably, exclude printing ">>>>>" and/or "<<<<<". I would prefer to do it in one line, but in a script is also fine.
So far, I have this working but cannot figure out how to print the next lines based on these conditions, using another pattern search:
Here I found what I want to print, except the lines in the sections below these:
$ awk '/^\[/ {if($NF>=10) print}' Requests
[2018-08-03 13:22:17.662 host.domain INFO {97537}] Requests in progress: 13
[2018-08-03 13:23:17.724 host.domain INFO {97537}] Requests in progress: 19
[2018-08-03 13:24:17.791 host.domain INFO {97537}] Requests in progress: 29
Any help figuring this out would be greatly appreciated.
[2018-02-12 16:31:09.236 host.domain INFO {97537}] Requests in progress: 0
>>>>>
<<<<<
[2018-02-12 16:32:09.296 host.domain INFO {97537}] Requests in progress: 1
>>>>>
[2018-02-12--16-32-09-230--XkR86Qrc3AQAAOoXT-0AAAJU--App.ts=68
<<<<<
[2018-02-12 16:33:09.357 host.domain INFO {97537}] Requests in progress: 0
>>>>>
<<<<<
[2018-02-12 16:34:09.418 host.domain INFO {97537}] Requests in progress: 1
>>>>>
[2018-02-12--16-34-09-254--XkR9YQrc3AQAAQY1AgoAAAAA--App.ts=164
<<<<<
[2018-02-12 16:35:09.479 host.domain INFO {97537}] Requests in progress: 0
>>>>>
<<<<<
[2018-02-12 16:36:09.540 host.domain INFO {97537}] Requests in progress: 0
>>>>>
<<<<<
[2018-08-03 13:22:17.662 host.domain INFO {97537}] Requests in progress: 13
>>>>>
2018-08-03--13-18-55-228--XkrnHwrc3AQAABIILK8AAAJK--App.ts=202424
2018-08-03--13-19-18-389--XkrnNgrc3AQAAFePAbgAAABJ--App.ts=179263
2018-08-03--13-19-22-580--XkrnOgrc3AQAABZ7n6sAAAKN--App.ts=175073
2018-08-03--13-19-57-629--XkrnXQrc3AQAAHJps8MAAAEN--App.ts=140024
2018-08-03--13-20-38-385--Xkrnhgrc3AQAAC8IRFUAAAAV--App.ts=99268
2018-08-03--13-20-39-571--Xkrnhwrc3AQAABIF-GIAAAFT--App.ts=98082
2018-08-03--13-21-03-828--Xkrnnwrc3AQAABZ7oDwAAAKU--App.ts=73824
2018-08-03--13-21-34-179--Xkrnvgrc3AQAABIF-K4AAAFM--App.ts=43474
2018-08-03--13-21-34-491--Xkrnvgrc3AQAABIHyHwAAAIH--App.ts=43161
2018-08-03--13-21-35-482--Xkrnvwrc3AQAAX9IOogAAANC--App.ts=42171
2018-08-03--13-22-17-285--Xkrn6Qrc3AQAAX-mZFUAAAOQ--Mover.ts=367
2018-08-03--13-22-17-319--Xkrn6Qrc3AQAAMaqSowAAAGX--Mover.ts=334
2018-08-03--13-22-17-638--Xkrn6Qrc3AQAABIHyJQAAAIS--Mover.ts=15
<<<<<
[2018-08-03 13:23:17.724 host.domain INFO {97537}] Requests in progress: 19
>>>>>
2018-08-03--13-18-55-228--XkrnHwrc3AQAABIILK8AAAJK--App.ts=262496
2018-08-03--13-19-18-389--XkrnNgrc3AQAAFePAbgAAABJ--App.ts=239335
2018-08-03--13-19-22-580--XkrnOgrc3AQAABZ7n6sAAAKN--App.ts=235145
2018-08-03--13-19-57-629--XkrnXQrc3AQAAHJps8MAAAEN--App.ts=200096
2018-08-03--13-20-38-385--Xkrnhgrc3AQAAC8IRFUAAAAV--App.ts=159340
2018-08-03--13-20-39-571--Xkrnhwrc3AQAABIF-GIAAAFT--App.ts=158154
2018-08-03--13-21-03-828--Xkrnnwrc3AQAABZ7oDwAAAKU--App.ts=133896
2018-08-03--13-21-34-179--Xkrnvgrc3AQAABIF-K4AAAFM--App.ts=103546
2018-08-03--13-21-34-491--Xkrnvgrc3AQAABIHyHwAAAIH--App.ts=103233
2018-08-03--13-21-35-482--Xkrnvwrc3AQAAX9IOogAAANC--App.ts=102243
2018-08-03--13-22-28-622--Xkrn9Arc3AQAAHJptG4AAAED--App.ts=49102
2018-08-03--13-22-35-159--Xkrn@wrc3AQAAHJptHQAAAEU--App.ts=42566
2018-08-03--13-22-43-351--XkroAwrc3AQAABIHyLEAAAIK--App.ts=34373
2018-08-03--13-22-49-016--XkroCQrc3AQAABIF-PAAAAFL--App.ts=28708
2018-08-03--13-22-51-626--XkroCwrc3AQAABIHyL0AAAIP--App.ts=26097
2018-08-03--13-23-02-371--XkroFgrc3AQAAXcCgAkAAADD--App.ts=15354
2018-08-03--13-23-13-733--XkroIQrc3AQAAX-mZM8AAAOF--App.ts=3992
2018-08-03--13-23-16-514--XkroJArc3AQAAAyr2DIAAAME--App.ts=1210
2018-08-03--13-23-17-707--XkroJQrc3AQAAWUa5a0AAALJ--App.ts=18
<<<<<
[2018-08-03 13:24:17.791 host.domain INFO {97537}] Requests in progress: 29
>>>>>
2018-08-03--13-18-55-228--XkrnHwrc3AQAABIILK8AAAJK--App.ts=322561
2018-08-03--13-19-18-389--XkrnNgrc3AQAAFePAbgAAABJ--App.ts=299400
2018-08-03--13-19-22-580--XkrnOgrc3AQAABZ7n6sAAAKN--App.ts=295210
2018-08-03--13-19-57-629--XkrnXQrc3AQAAHJps8MAAAEN--App.ts=260161
2018-08-03--13-20-38-385--Xkrnhgrc3AQAAC8IRFUAAAAV--App.ts=219405
2018-08-03--13-20-39-571--Xkrnhwrc3AQAABIF-GIAAAFT--App.ts=218219
2018-08-03--13-21-03-828--Xkrnnwrc3AQAABZ7oDwAAAKU--App.ts=193961
2018-08-03--13-21-34-179--Xkrnvgrc3AQAABIF-K4AAAFM--App.ts=163611
2018-08-03--13-21-34-491--Xkrnvgrc3AQAABIHyHwAAAIH--App.ts=163298
2018-08-03--13-21-35-482--Xkrnvwrc3AQAAX9IOogAAANC--App.ts=162308
2018-08-03--13-22-28-622--Xkrn9Arc3AQAAHJptG4AAAED--App.ts=109167
2018-08-03--13-22-35-159--Xkrn@wrc3AQAAHJptHQAAAEU--App.ts=102631
2018-08-03--13-22-43-351--XkroAwrc3AQAABIHyLEAAAIK--App.ts=94438
2018-08-03--13-22-49-016--XkroCQrc3AQAABIF-PAAAAFL--App.ts=88773
2018-08-03--13-22-51-626--XkroCwrc3AQAABIHyL0AAAIP--App.ts=86162
2018-08-03--13-23-02-371--XkroFgrc3AQAAXcCgAkAAADD--App.ts=75419
2018-08-03--13-23-13-733--XkroIQrc3AQAAX-mZM8AAAOF--App.ts=64057
2018-08-03--13-23-16-514--XkroJArc3AQAAAyr2DIAAAME--App.ts=61275
2018-08-03--13-23-22-313--XkroKgrc3AQAAXcCgHcAAADY--App.ts=55477
2018-08-03--13-23-44-484--XkroQArc3AQAAC81pNEAAACV--App.ts=33304
2018-08-03--13-23-44-539--XkroQArc3AQAAFePA34AAABH--App.ts=33250
2018-08-03--13-23-44-715--XkroQArc3AQAAXcCgJQAAADR--App.ts=33074
2018-08-03--13-23-45-083--XkroQQrc3AQAABIILlYAAAJO--App.ts=32706
2018-08-03--13-23-46-094--XkroQgrc3AQAAC81pNIAAACY--App.ts=31695
2018-08-03--13-24-01-244--XkroUQrc3AQAABIILm8AAAJS--App.ts=16545
2018-08-03--13-24-06-048--XkroVgrc3AQAAX9IO1wAAANK--App.ts=11742
2018-08-03--13-24-06-341--XkroVgrc3AQAAHJptSEAAAEM--App.ts=11449
2018-08-03--13-24-06-360--XkroVgrc3AQAAXcCgMwAAADH--App.ts=11429
2018-08-03--13-24-12-436--XkroXArc3AQAAX-mZUMAAAOA--App.ts=5353
<<<<<
The goal here is to find and print all line sections with "Requests in progress" that are > or = 10, print those lines below until their endings (at <<<<<) and preferably, exclude printing ">>>>>" and/or "<<<<<". I would prefer to do it in one line, but in a script is also fine.
So far, I have this working but cannot figure out how to print the next lines based on these conditions, using another pattern search:
Here I found what I want to print, except the lines in the sections below these:
$ awk '/^\[/ {if($NF>=10) print}' Requests
[2018-08-03 13:22:17.662 host.domain INFO {97537}] Requests in progress: 13
[2018-08-03 13:23:17.724 host.domain INFO {97537}] Requests in progress: 19
[2018-08-03 13:24:17.791 host.domain INFO {97537}] Requests in progress: 29
Any help figuring this out would be greatly appreciated.