获取文件中的行

时间:2016-12-27 12:35:01

标签: tcl

如何在第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
 }
}

1 个答案:

答案 0 :(得分:1)

当做这种事情时,最简单的方法(假设数据不是太大,所以不超过几百兆)是将它全部加载并在Tcl中作为行列表处理它。

set lines [split [read $flopen] "\n"]
set particularLine [lindex $lines end-3]