私はこのタイプの配列を持っています:
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
...
入力用のカテゴリがいくつあるかわかりません。
最後の列でソートされたカテゴリごとに1つのファイルを出力したい
cat1 E F G 10
cat1 A B C 12
最初のファイル
cat2 C F G 4
cat2 H F S 12
2番目のファイルなど....
私はこれを試しました:
すべての行を $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行しかありません!
なんで ?