我有一个文件,其中的数据如下所示:
Files {
string1
string2
string3
...
...
}
但我想在{
&之间复制内容。 }
即string1
,string2
到其他文件,大括号与其他文件位于不同的行中。
答案 0 :(得分:0)
由于Tcl非常灵活,并且该文件具有Tcl-ish语法,我会这样做:
proc Files {data} {set ::files_data $data}
source data_file
set fin [open other_file r]
set fout [open other_file.tmp w]
set have_string1 false
while {[gets $fin line] != -1} {
if {$have_string1 && [string match "string2" $line]} {
puts $fout $files_data
}
puts $fout $line
if {[string match "string1" $line]} {
set have_string1 true
}
}
close $fin
close $fout
# next line only if you need to keep a backup of the original
file link -hard other_file.bak other_file
file rename -force other_file.tmp other_file