#database #tcl #storage
#База данных #tcl #Хранение
Вопрос:
У меня есть данные, которые выглядят следующим образом
121,736,52,0,5.295,0.000,70.000,3,1.0000,3,1
122,736,52,0,5.295,0.000,70.000,3,1.0000,3,1
123,736,52,0,5.295,0.000,70.000,3,1.0000,3,1
124,736,52,1,5.295,1.000,70.200,3,1.0000,3,1
124,736,52,OIND,70.200,27.641,-np-
125,736,52,1,5.295,1.000,72.175,3,1.0000,3,1
125,736,52,OIND,72.175,308.340,MILL
129,736,52,1,5.295,1.000,70.525,3,1.0000,3,1
129,736,52,OIND,70.525,76.211,MILL
Мне нужно сохранить все данные, которые заканчиваются на «MILL» или «-np-»
, а затем поместить их в новый файл MSQ
Любые предложения Язык TCL
Ответ №1:
Что-то вроде
set in [open yourfile r]
set out [open newfile w]
while {[gets $in line] >= 0} {
if {[regexp {(?:MILL|-np-)$} $line]} {
puts $out $line
}
}
close $in
close $out
Ответ №2:
Альтернатива отличному ответу Шона:
set in [open yourfile r]
set out [open newfile w]
while {[gets $in line] >= 0} {
switch -glob -- $line {
{*MILL} -
{*-np-} {
puts $out $line
}
}
}
close $in
close $out
шаблоны глобусов описаны в string match
документации.