私はファイル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
私の間違いだとは思いません!