以下是文件中提取的元素
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逐个替换每个项目吗?
否则,如果使用的索引可能会很方便吗?
答案 0 :(得分:0)
我假设您导入的文件正在描述蚀刻在硅芯片上的晶体管或其他电子元件。看起来文件格式是空格分隔的。这是一个建议,但你需要澄清这一点。
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