如何插入“#”使用 Tcl 注释掉特定关键字?
TCL 有没有办法通过搜索 cfg 关键字来插入 (#) 注释?
-->运行tcl之前
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
Is that any way in TCL to insert the (#) comment off by searching cfg keyword?
-->Before
abcd abcd abcd
cfgabc abcd abcd
cfgcdd abc abc
abcd abcd abcd
cfgabc abcd abcd
-->After run the tcl
abcd abcd abcd
#cfgabc abcd abcd
#cfgcdd abc abc
abcd abcd abcd
#cfgabc abcd abcd
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 regsub:
regsub -all {cfg} $str {#cfg}
编辑
用于在字符串中的任何位置查找 cfg 并注释此行(按照注释中的要求):
regsub {(.*)cfg(.*)} $str {#\1cfg\2}
例如
这风险更大,需要更多关注和谨慎。
you can use regsub:
regsub -all {cfg} $str {#cfg}
EDIT
For finding cfg anywhere in the string and commenting this line (as requested in the comments):
regsub {(.*)cfg(.*)} $str {#\1cfg\2}
e.g.
This is much riskier and requires more attention and caution.
如果您要查找行首的三个字母
cfg
,使用regsub
就可以轻松完成。特别是,-line
选项对此有很大帮助。请注意,应对此类事情应谨慎:很容易出现匹配线过度或不足的情况。手动检查结果! (希望这比手动进行大量编辑更容易。)
If you're looking for the three letters
cfg
at the beginning of a line, that's pretty easy to do withregsub
. In particular, the-line
option helps a lot with this.Note that caution should be taken with this sort of thing: it's extremely easy to either over- or under-match lines. Check the results by hand! (Hopefully it'll be easier than doing lots of edits by hand.)