如何在第3行从结束行或最大行[expr max_line - 3]获取字符串,我已经编写了下面的代码,但我无法从第3行到达结束行或最大行。
set idx 0
while {![eof $flopen]} {
gets $flopen line
puts $line
set vlist [split $line " "]
set vle [string trim [lindex $vlist 0]]
if {$vle == "STP"} {
set dtxid [string trim [lindex $value_list 1]]
set dtid [string trim [lindex $value_list 4]]
gets $flopen line
gets $flopen line
gets $flopen line
set line [join $line ","]
set tglist($idx) $dtxid
set gslist($idx) $dtid
set atblist($idx) $line
set data_end_from_max_line $datax ;# Can set the string here [expr $max_line - 3]
incr idx
}
}
答案 0 :(得分:1)
当做这种事情时,最简单的方法(假设数据不是太大,所以不超过几百兆)是将它全部加载并在Tcl中作为行列表处理它。
set lines [split [read $flopen] "\n"]
set particularLine [lindex $lines end-3]