因为要在windows上使用expect的缘故,所以学习了tcl。还是用我在上一篇随笔中使用的例子来入门。
set seconds [clock seconds]
set timer [clock format $seconds -format %D]
regexp {([0-9]{2})/([0-9]{2})/([0-9]{2})} $timer match month day year
set rep_smp "20$year$month$day"
set rep_full "20$year-$month-$day"
set rpjf [open {shixian.rpjf} r]
set tmp [open {tmp.txt} w]
while {[expr ![eof $rpjf]]} {
gets $rpjf content
set content [regsub {([0-9]{4})-([0-9]{2})-([0-9]{2})} $content $rep_full]
set content [regsub {[0-9]{4}[0-9]{2}[0-9]{2}} $content $rep_smp]
puts $tmp "$content"
}
flush $tmp
close $rpjf
close $tmp
tcl语法用一句话概括的话就是:命令加参数。相比perl与python来说,tcl的语法相对简单一些,但是这并不代表就不如以上两者,各有各的特点而已。在tk和expect上tcl不仅仅是先驱而且也是做得最好的。