TCL中有没有通过搜索cfg关键字来插入(#(注释的方法?
-->之前
abcd abcd abcd
cfgabc abcd abcd
cfgcdd abc abc
abcd abcd abcd
cfgabc abcd abcd
-->运行tcl 后
abcd abcd abcd
#cfgabc abcd abcd
#cfgcdd abc abc
abcd abcd abcd
#cfgabc abcd abcd
您可以使用regsub:regsub -all {cfg} $str {#cfg}
编辑
用于在字符串中的任何位置查找cfg并注释此行(根据注释中的要求(:regsub {(.*)cfg(.*)} $str {#1cfg2}
例如
设置str"bla lkjhcfglkj">
bla lkjhcfglkj
regsub{(.*(cfg(.*(}$str{#\1cfg\2}
#bla lkj hcfglkj
这风险更大,需要更多的关注和谨慎。
如果要在一行的开头查找三个字母cfg
,那么使用regsub
非常容易。特别是,-line
选项对此有很大帮助。
regsub -all -line {^cfg} $str "#cfg"
注意,这种事情应该小心:过线或低于线都非常容易。手工检查结果!(希望这会比手工编辑更容易。(