Tcl 在大文件中连续搜索模式的新术语的好方法是什么?
AUT为特定函数运行创建日志,并将日志附加到中心文件中。 此文件中要搜索的行为:Tcl 在大文件中连续搜索模式的新术语的好方法是什么?,tcl,Tcl,AUT为特定函数运行创建日志,并将日志附加到中心文件中。 此文件中要搜索的行为: LatestTimeStamp>MyFunction SomeStep timeLapsed SOME_TIME_VALUE 每次AUT生成日志时,都会生成具有类似模式的新的多个日志,提取这些新日志需要它 我使用的简单方法是: 阶级结构 但该文件可能很大,将所有内容存储在一个读取输出变量中可能会导致溢出: set log [read [set fp [open [file join [file nor
LatestTimeStamp>MyFunction SomeStep timeLapsed SOME_TIME_VALUE
每次AUT生成日志时,都会生成具有类似模式的新的多个日志,提取这些新日志需要它
我使用的简单方法是:
阶级结构
但该文件可能很大,将所有内容存储在一个读取输出变量中可能会导致溢出:
set log [read [set fp [open [file join [file normalize $env(APPDATA)] Logs Action.log]]]]
是否可以使用组合来获取文件指针的当前位置,并使用它偏移到最后一个光标位置,然后每次都从该位置开始读取?
相同的Tcl命令选项是什么?这样做:
seek [set fp [open $file]] $_fOffset
set txt [read $fp]
set _fOffset [tell $fp]
在这方面:
::itcl::class clsLogs {
private {
variable _fOffset 0
}
public {
method _fFreshRead {file args} {
set options(-resetOffSet) false
array set options $args
if {$options(-resetOffSet)} {
set _fOffset 0
}
seek [set fp [open $file]] $_fOffset
set txt [read $fp]
set _fOffset [tell $fp]
close $fp
return $txt
}
}
}
所以我猜命令是告诉和寻找。set-oldOffset[tell$fp]close$fp wait for fresh logs set-fp[open logpath r]seek$fp 0$oldOffset-freshLogs[read$fp]仍在测试..不能说-有一个执行循环-这是一个巨大的实时网络元素文件,可能有1000个元素,可能是GBs
::itcl::class clsLogs {
private {
variable _fOffset 0
}
public {
method _fFreshRead {file args} {
set options(-resetOffSet) false
array set options $args
if {$options(-resetOffSet)} {
set _fOffset 0
}
seek [set fp [open $file]] $_fOffset
set txt [read $fp]
set _fOffset [tell $fp]
close $fp
return $txt
}
}
}