Posted to tcl by sebres at Mon Apr 27 12:11:39 GMT 2020view pretty
set var1 {SYNC 1 2;K1_SP4_SPA_CLEANUP_DIAMETER UGT0101_008;K1_SP4_SPA_FACING UGT0101_008;SYNC 2 2;K1_SP4_SPA_ROUGHING UGT0101_008} set var2 {SYNC 1 2;K2_SP4_CHECK_DIAMETER UGT010_0232;SYNC 2 2} set var1 [split $var1 ";"] set var2 [split $var2 ";"] set res {} set i 0 foreach v2 $var2 { set v1 [lindex $var1 $i] if {[regexp {^SYNC } $v2] && $v1 ne $v2} { while {$i < [llength $var1] && [set v1 [lindex $var1 $i]] ne $v2} { lappend res NOOP incr i } if {$v1 ne $v2} { error "Unexpected: missing $v2 in var1." } } lappend res $v2 incr i } while {$i < [llength $var1]} { lappend res NOOP incr i } puts "expect:\tSYNC 1 2;K2_SP4_CHECK_DIAMETER UGT010_0232;NOOP;SYNC 2 2;NOOP" puts "result:\t[join $res ";"]"