我需要将shell中的以下代码更改为tcl。请帮忙。
if (` expr $_f : proj_lp_ ` == 8) then
我需要 if 条件中条件的 tcl 等效项。
谢谢!
请参阅expr 手册页,其中状态为:
STRING : REGEXP anchored pattern match of REGEXP in STRING
因此,您的_f
变量包含一个字符串,并且您将其与 litteral 进行比较proj_lp_
。结果是匹配的长度。在 tcl 代码中,if {[regexp {^proj_lp_} $_f]} { ...}
您可能只关心它是否匹配。你也可以只使用if {[string match "proj_lp_*" $_f]} {...}
. expr(1) 页面说这是一个锚定的正则表达式——因此添加了插入符号。我给出的两个示例都只会在输入字符串的开头匹配(即:它们是锚定的)。