如何插入“#”使用 Tcl 注释掉特定关键字?

发布于 2025-01-10 11:26:56 字数 293 浏览 1 评论 0原文

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

滥情稳全场 2025-01-17 11:26:56

您可以使用 regsub
regsub -all {cfg} $str {#cfg}

编辑
用于在字符串中的任何位置查找 cfg 并注释此行(按照注释中的要求):
regsub {(.*)cfg(.*)} $str {#\1cfg\2}
例如

设置str“bla lkjhcfglkj”
bla lkjhcfglkj
regsub {(.*)cfg(.*)} $str {#\1cfg\2}
#bla lkjhcfglkj

这风险更大,需要更多关注和谨慎。

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.

set str "bla lkjhcfglkj"
bla lkjhcfglkj
regsub {(.*)cfg(.*)} $str {#\1cfg\2}
#bla lkjhcfglkj

This is much riskier and requires more attention and caution.

遇到 2025-01-17 11:26:56

如果您要查找行首的三个字母 cfg,使用 regsub 就可以轻松完成。特别是,-line 选项对此有很大帮助。

regsub -all -line {^cfg} $str "#cfg"

请注意,应对此类事情应谨慎:很容易出现匹配线过度或不足的情况。手动检查结果! (希望这比手动进行大量编辑更容易。)

If you're looking for the three letters cfg at the beginning of a line, that's pretty easy to do with regsub. In particular, the -line option helps a lot with this.

regsub -all -line {^cfg} $str "#cfg"

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.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文