从 tcl 文件中获取数组元素

从 tcl 文件中获取数组元素

我在 tcl 文件中有类似下面的内容。

array set myports {
a
b
c
d
e
}

array set myports {
g
h
i
j
K
l
}

如何对文件进行简单的 grep 并打印数组中的元素?

答案1

这个 awk 命令怎么样:

awk '/array set myports {/ {for (i=5; i<=NF; i++) {if ($i == "}") {break} else {printf("%s ", $i)}}} END {printf("\n")}' test.in

希望这可以帮助

答案2

如果可以的话执行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

相关内容