我只是想知道你是否可以在这里取悦。
我有以下日志文件:
qi3adm 20130701095302 : QI3/SYS/exe/uc/sunx86_64/tp import all
QI3 u6 -Dsourcesystems=HRI,MP1,BFI,EBI,EBJ,EEI,EFI,EGI,EHI,EIA,EIC,EII,EIK,EIS
qi3adm 20130701144746 : QI3/SYS/exe/uc/sunx86_64/tp import all
qi3 u6 -Dsourcesystems=HRI,MP1,BFI,EBI,EBJ,EEI,EFI,EGI,EHI,EIA,EIC,EII,EIK,EIS
qi3adm 20130701145155 : QI3/SYS/exe/uc/sunx86_64/tp import all
QI3 u6 -Dsourcesystems=HRI,MP1,BFI,EBI,EBJ,EEI,EFI,EGI,EHI,EIA,EIC,EII,EIK,EIS
qi3adm 20130701164041 : QI3/SYS/exe/uc/sunx86_64/tp import all
QI3 u6 -Dsourcesystems=HRI,MP1,BFI,EBI,EBJ,EEI,EFI,EGI,EHI,EIA,EIC,EII,EIK,EIS
qi3adm 20130701205821 : QI3/SYS/exe/uc/sunx86_64/tp import all
QI3 u6 -Dsourcesystems=HRI,MP1,BFI,EBI,EBJ,EEI,EFI,EGI,EHI,EIA,EIC,EII,EIK,EIS
qi3adm 20130702034725 : QI3/SYS/exe/uc/sunx86_64/tp import all
QI3 u6 -Dsourcesystems=HRI,MP1,BFI,EBI,EBJ,EEI,EFI,EGI,EHI,EIA,EIC,EII,EIK,EIS
我的要求是我需要在日志文件中的第三个条目之后开始搜索,即从
开始 qi3adm 20130701145155 : QI3/SYS/exe/uc/sunx86_64/tp import all
QI3 u6 -Dsourcesystems=HRI,MP1,BFI,EBI,EBJ,EEI,EFI,EGI,EHI,EIA,EIC,EII,EIK,EIS
此日志文件在上述记录之前基本上有数千条记录。我可以使用grep取出上面的记录。在此之后,我需要从下一个记录开始搜索,即从
开始 qi3adm 20130701164041 : QI3/SYS/exe/uc/sunx86_64/tp import all
QI3 u6 -Dsourcesystems=HRI,MP1,BFI,EBI,EBJ,EEI,EFI,EGI,EHI,EIA,EIC,EII,EIK,EIS
并继续搜索直到文件结尾。 (并且需要显示命中)。我正在网上进行一些搜索,我尝试使用以下内容:
sed -e '/$TIMESTAMP/,$p' LOGFILE
[$ TIMESTAMP持有2013]。但是,上面没有给出正确的输出。我遇到的主要问题是搜索只需要在记录3之后而不是从日志文件的开头开始。
你能帮忙吗?非常感谢你的帮助。最诚挚的问候, 斯
答案 0 :(得分:0)
使用awk
:
awk '/qi3adm 20130701164041/,0' logfile
使用sed
:
sed '/qi3adm 20130701164041/,$!d' logfile
基本上,你在起始范围内传递一个表达式,它将从那里开始直到文件结束。