TCL檔案查詢拆分

Augusdi發表於2015-10-13


TCL檔案查詢拆分

我現在有一個 .res 的檔案,這個檔案中包括以下兩行測試結果:

        rdly=  3.4405E-10  targ=  2.0084E-07   trig=  2.0050E-07
        fdly=  3.1211E-10  targ=  1.0081E-07   trig=  1.0050E-07

現在我想寫一個Tcl檔案擁有功能如下:

1. 讀這個 .res 檔案並尋找到上述的那兩行資訊(這兩行所在的行數未知)。
2. 生成一個 ASCII 的 .txt 檔案,檔案內容應當如下:
        Rise Delay is [rdly 的測試結果,在這裡應當是3.4405E-10] 
        Fall Delay is [fdly 的測試結果,3.1211E-10]

set srcfile myres.res
set dstfile dtest.txt
if {[catch {open $srcfile r} res]} {
 puts "Failed to open the source file: $srcfile; $res"
 return 0
}
set hSrc $res
if {[catch {open $dstfile w+} res]} {
 puts "Failed to open the destination file: $dstfile; $res"
 return 0
}
set hDst $res
foreach line [split [read $hSrc] \n] {
 if {[regexp {rdly=(.*)targ=(.*)trig=(.*)} $line match sub1]} {
  puts $hDst "Rise Delay is $sub1"
 }
 if {[regexp {fdly=(.*)targ=(.*)trig=(.*)} $line match sub1]} {
  puts $hDst "Fall Delay is $sub1"
 }
}
close $hSrc
close $hDst


相關文章