2011-04-11 52 views
-1

下面是從一個文件如何從一個文件中提取的值放置到另一個

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

「提取元素」的10個字段如何映射到6個數組? – 2011-04-11 08:17:59

+0

你幾乎已經發布了幾乎相同的問題。 – drysdam 2011-04-12 01:44:47

回答

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 
+0

thanx 4幫助約瑟夫......我會把它整理出來的...... – Naaz 2011-04-12 06:16:40

+0

@ Joseph Bui:什麼是ABCDEFG H .....我得到錯誤,這些應該是int類型.... .. – Naaz 2011-04-14 05:39:41

+0

對不起,我顛倒了爭論。 {A B C D E F G H}應該在$ lineNumber之前(在答案中固定)。 – 2011-06-06 19:43:04

相關問題