У меня есть что-то как ниже в tcl файле.
array set myports {
a
b
c
d
e
}
array set myports {
g
h
i
j
K
l
}
Как сделать простой grep на файле и распечатать элементы в массиве?
Как насчет этой команды awk:
awk '/array set myports {/ {for (i=5; i<=NF; i++) {if ($i == "}") {break} else {printf("%s ", $i)}}} END {printf("\n")}' test.in
Hope это помогает
Если это в порядке к , выполняются файл Tcl, то Вы могли выполнить немного обертки сценарий Tcl для извлечения значений:
$ cat file.tcl
array set A { hello world how are you today }
$ values=$( tclsh <<END_TCL
source file.tcl
parray A
END_TCL
)
$ echo "$values"
A(hello) = world
A(how) = are
A(you) = today