簡體   English   中英

如何使用bash腳本在日期/時間和另一個之間提取日志

[英]How to extract log using bash script between a date / time and another

有3個日志文件,需要通過bash提取一個時間段,但是它不能將文件標識為日期/時間。 誰能幫我使用sed或awk甚至grep的腳本從YYYY / MM / DD HH:MM:ss到YYYY / MM / DD HH:MM:ss的日志?

我的日志文件生成如下:


    2019-06-04-06.48.05.040000  INFO v65a8fe79:16a8d792e10:-d37:10.150.100.000 66.200.83.195 |36983 RD8jrq1limntMPACJ4iRx-D
    2019-06-04-07.38.03.145000  INFO 2d5bb9b6:16a8d794bd9:-ae9:10.150.100.000 200.200.87.8 |37027 fje7hxh7yKCGZcEQOnPOafQ 
    2019-06-04-07.38.09.966000  INFO 65a8fe79:16a8d792e10:-d36:10.150.100.000 200.200.87.8 |37029 3hesLFH1cySQ1so0YSmShbV    
    2019-06-04-07.38.09.966000  INFO 2d5bb9b6:16a8d794bd9:-ae8:10.150.100.000 200.200.87.8 |37028 SykkGWSrAXh8yUG

其他具有以下格式:

2019-06-05 00:28:50,548 DEBUG [site.aq.application.object.context.DataContextFactoryImpl] - [Criado o DataContext com -389:192.193.10.250]
2019-06-05 00:28:50,550 INFO [site.aq.application.object.context.DataContextFactoryImpl] - [CacheableRegraUserAgentService:  countFail=8, matchRate=0.6]
2019-06-05 00:28:50,554 DEBUG [site.aq.application.object.context.DataContextFactoryImpl] - [Liberado o dataContext com ID 2d5bb9b6:16a8d794bd9:-389:192.193.46.200]
2019-06-05 07:20:04,628 DEBUG [site.aq.application.object.context.DataContextFactoryImpl] - [Criado o DataContext com ID65a8fe79:16a8d792e10:-5e8:192.300.46.200]

我很滿意,並且通過示例搜索來做到這一點:

我試着這樣寫:

創建文件“ lista-log.awk”

#!/usr/bin/gawk -f
BEGIN {
    starttime = mktime(starttime)
    endtime = mktime(endtime)
}

func in_range(n, start, end) {
    return start <= n && n < end
}

match($0, /^([0-9]{4})-([0-9]{2})-([0-9]{2})\s/, m) && 
    in_range(mktime(m[1] " " m[2] " " m[3] " 00 00 00"), starttime, endtime)

在promtp上我寫例如:

./lista-log.awk -v starttime='2019 06 05 00 00 00' -v endtime='2019 06 05 04 39 00' arquivo.log.txt

但是我認為他好像不明白這是一個小時/日期,為什么不放棄任何內容

您的好處是日期時間是一種可排序的格式。 因此,您所需要做的就是編寫以下awk行:

awk -v tStart="2019-05-31-01.02.03.000000" -v tEnd="2019-06-01-21.02.03.000000" \
    '($1 >= tStart) && ($1 < tEnd)' file 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM