我有这个文件
2 1
12 2
34 1
56 1
45 3
33 2
77 1
83 2
62 3
75 3
我想从第二列获取第一列中的第一个值,其中第一列的值最小 像这样
2 1
12 2
45 3
答案 0 :(得分:1)
这可以通过线性扫描和一点关联数组来完成,如下所示:
set f [open $filename]
foreach line [split [read $f] "\n"] {
# ASSUME: valid Tcl list of numbers
lassign $line col1 col2
if {![info exists minima($col2)] || $minima($col2) > $col1} {
set minima($col2) $col1
}
}
close $f
foreach col2 [array names minima] {
puts "$minima($col2) $col1"
}
强制执行您需要的各种解析,排序和格式化。