Я пытаюсь извлечь каждую проверку в каждый новый файл.
Содержимое файла извлечения данных (report.txt)
Information: Checking 'data_check_multiple_clock'.
Information: Checking 'data_check_no_clock'.
Information: Checking 'no_driving_cell'.
Warning: There are 5 ports with parasitics but with no driving cell.
Ports
------------------------------------------------------------
atb0_uib
atb1_uib
a[0]
b[1]
b[2]
Information: Checking 'cell'.
Пример вывода, который я хочу:
В содержании data_check_multiple_clock.txt,
файл пуст, так как ошибок не написано.
То же самое относится к data_check_no_clock.txt и cell.txt
Однако содержимое no_driving_cell.txt выглядит следующим образом:
atb0_uib
atb1_uib
a[0]
b[1]
b[2]
есть идеи, как это сделать?
Ниже приведена кодировка с ошибкой при пустой ошибке, когда все файлы получают одинаковую ошибку, найденную в no_driving_cell.
set var "Information: Checking '[lindex $argv $i]'"
set fi [open "$line" r]
set fo [open "check_[lindex $argv $i].csv" a]
# Extract data to output file
while {[gets $fi line1] !=-1} {
if {[regexp "$var" $line1]} {
puts "check_timing_info: Found $line1"
puts $fo $line1
puts $fo $line
set flag 1
}
if {$flag eq 1} {
if {[regexp "$var1" $line1]} {
set flag 2
} elseif {[regexp "^Error" $line1]} {
set flag 2
}
}
if {$flag eq 2} {
if {[regexp "Information: Checking" $line1]} {
set flag 0
} elseif {[regexp "$var1" $line1]} {
} else {
# puts $line1
puts $fo $line1
}
}
}
close $fo
}
} else {
}
}
}