我有一个这种类型的数组:
cat1 A B C 12
cat1 E F G 10
cat2 C F G 4
cat2 H F S 12
cat3 F G M -12
...
我不知道我有多少个类别可供输入。
我想按类别在输出一个文件中,按最后一列排序
cat1 E F G 10
cat1 A B C 12
对于第一个文件
cat2 C F G 4
cat2 H F S 12
对于第二个文件等....
我试过这个:
我把每一行都放在 $list {{cat1 ABC 12} {cat1 EFG 10} .....}
之后,我对其进行排序:
设置列表 [lsort -index 4 -real $list]
foreach element $list {
regexp {.*} [lindex [split $element " "] 0] start
set table_cat($start) "$element"
}
之后,我写文件:
foreach element [array names table_cat] {
set thefile [open "cat_$element.txt" "w"]
puts $thefile "$table_cat($element)"
}
但我在结果行中只有 1 行!
为什么 ?