我有一个文件 test1 :
Par1
Par2
Par3
Par4
Par1
Par5
Par5
我制作了这个 Tcl 来过滤它:
set thefile [open test1 "r"]
set is_Par1 0
set is_Par3 0
while {![eof $thefile]} {
set line [gets $thefile]
if { [regexp {Par1} $line] } {
set thefile2 [open test2 "w"]
set is_Par1 1
}
if { [regexp {Par3} $line] } {
set is_Par3 1
set is_Par1 0
}
if { $is_Par1 && !$is_Par3 } {
puts $thefile2 $line
}
if { [regexp {Par4} $line] } {
set is_Par3 0
close $thefile2
}
}
close $thefile
让我们假设文件和模式更复杂(我已经简化了)
我有这个结果:
Par1
Par5
Par5
但我想得到这个结果:
Par1
Par2
我没看到是我的错!