Tcl 如何将提取的值从一个文件放到另一个文件中
以下是从文件中提取的元素Tcl 如何将提取的值从一个文件放到另一个文件中,tcl,Tcl,以下是从文件中提取的元素 Mg1.qna o a vss vss n 0.36 0.03 mult=4 $$UNI Mg1.qpa o a vcc vcc p 0.36 0.03 mult=6 $$UNI 现在,将上述元素替换到另一个包含以下内容的文件中 set name(A) qp18 set source(A) vccgated_1p24 set drain(A) vldoout set gate(A) pgtbias set bulk(A) vccgated_1p24 set
Mg1.qna o a vss vss n 0.36 0.03 mult=4 $$UNI
Mg1.qpa o a vcc vcc p 0.36 0.03 mult=6 $$UNI
现在,将上述元素替换到另一个包含以下内容的文件中
set name(A) qp18
set source(A) vccgated_1p24
set drain(A) vldoout
set gate(A) pgtbias
set bulk(A) vccgated_1p24
set inst(A) 1
set name(B) qp2
set source(B) vccgated_1p24
set drain(B) vccgated_1p24
set gate(B) vccgated_1p24
set bulk(B) vccgated_1p24
set inst(B) 1
set bulk(B) vccgated_1p24
我可以使用regsub逐个替换每个项目吗
否则,如果使用索引,那会很方便吗?我假设您导入的文件描述的是晶体管或蚀刻在硅芯片上的其他电子元件。文件格式似乎是以空格分隔的。这里有一个建议,但你需要进一步澄清
set inputFile [open INPUT_FILE_NAME_GOES_HERE]
set outputFile [open OUTPUT_FILE_NAME_GOES_HERE w]
set lineNumber 0
while {[gets $inputFile line] >= 0} {
set items [split $line]
# assumes you have at most 8 lines for components A through H in your file
set letter [lindex {A B C D E F G H} $lineNumber]
puts $outputFile "set name($letter) [lindex $items 0]"
puts $outputFile "set source($letter) [lindex $items 1]"
# as many more puts commands as you need for all the columns
}
close $inputFile
close $outputFile
“提取的元素”中的10个字段如何映射到6个数组中?您已经发布了十几次几乎相同的问题。@Joseph Bui:什么是B C D E F G H。。。。。我错误地认为这些应该是int类型的……对不起,我颠倒了参数。{A B C D E F G H}应位于$lineNumber之前(答案中已确定)。