如何使用Tcl将"#"注释插入到特定关键字?



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"

注意,这种事情应该小心:过线或低于线都非常容易。手工检查结果!(希望这会比手工编辑更容易。(

最新更新