У меня есть файл со строками ниже (file.list) :
insert_buffer [get_ports { port }] BUFF1 -new_net net -new_cell cell
Я читаю файл с приведенным ниже сценарием (read.tcl) :
#! /usr/local/bin/tclsh
foreach arg $argv {
set file [open $arg r]
set data [ read $file ]
foreach line [ split $data "\n" ] {
puts $line
set name [lindex $line [expr [lsearch -all $line "-new_cell"]+1]]
puts $name
}
close $file
}
во время выполнения вышеуказанного сценария (read.tcl file.list) Я получаю ошибку, так как у меня есть "[" в file.list и сценарий считает его началомкоманды TCL.
list element in braces followed by "]" instead of space
while executing
"lsearch -all $line "-new_cell""
("foreach" body line 5)
invoked from within
"foreach line [ split $data "\n" ] {
Как правильно прочитать файл и преодолеть символ "[" ?