【发布时间】:2014-07-01 13:33:58
【问题描述】:
我有一个带有这个 sn-p 的脚本:
while {[gets $fin line] != -1} {
if {[string first "Modem :" $line] != -1} {
set line2 [string range $line 17 end]
puts $fout "One : \t$line2"
}
puts $fout "Two : \t$line2"
}
One : 工作并打印输出(当我在脚本中不包含 Two : 部分时)但是当我包含 Two : 时,它会显示
error : can't read "line2": no such variable
while executing
"puts $fout "Two : \t$line2""
("while" body line 14)
从if出来后不是还持有line2的值吗?
【问题讨论】:
-
如果
$fin的第一行没有子字符串Modem :,那么你就不会进入if和line2还不存在...什么你想做什么? -
但我敢肯定,有子字符串。我看过文件
-
它在文件的 first 行吗?如果不是,那么您会收到错误消息。
-
我正在尝试构建一个表。
greping 为两个这样的if语句中的两个子字符串。然后在ifs 之外我使用puts $fout "$line1\t$line2" -
很抱歉,我没有收到您的上述第二条评论。