2013-12-06 4 views
0

У меня есть файл index.txt, который содержит имя компьютера [сказать Темп [0] и т.д.] и производительности параметр [говорят] 2.3 и т.д., расположенных в виде таблицы, какИзвлечение строки из файла с Tcl

PC Memory Processor Bus Performance . 

Я хочу, чтобы tcl-файл извлекал только строковые ПК и значения производительности.

Пожалуйста, дайте мне совет.

ответ

1

Вам понадобится пакет textutil::split от tcllib.

package require textutil::split 
set fid [open index.txt r] 
while {[gets $fid line] != -1} { 
    lassign [textutil::split::splitx $line] pc memory processor bus performance 
    puts "$pc $performance" 
} 

Если вы не хотите использовать tcllib, вы можете сделать это:

while {[gets $fid line] != -1} { 
    set words [regexp -all -inline {\S+} $line] 
    if {[llength $words] == 7} { 
     puts "[lindex $words 0] [lindex $words 4]" 
    } 
} 
+0

Спасибо за Обходной путь. Но у меня нет доступа к этим пакетам tcllib, может быть какое-то другое обходное решение? – kunal

+0

@kunal Это просто простой код Tcl_; загрузка и копирование будут работать нормально ... –

+1

Похоже, что пакет 'csv' также может быть релевантным, если это вкладки, которые используются для разделения вещей вверх. –

Смежные вопросы