在Tcl脚本中调用的sed命令中使用变量进行删除

在Tcl脚本中调用的sed命令中使用变量进行删除,tcl,Tcl,我想在sed命令中使用f_d的值,但我不能这样做。谁来帮我做这个 正确的工具是使用双引号而不是大括号引号 set f_d "y" exec sed {/feature $f_d starts/, /feature $f_d ends/ d} file > temp_file 请注意这意味着您可能需要非常小心。特别是,如果您的实际代码在sed脚本中有反斜杠或其他Tcl元字符,则需要引用这些字符 您可以完全在Tcl中完成此任务,而无需调用任何外部程序 exec sed "/feature $

我想在sed命令中使用
f_d
的值,但我不能这样做。谁来帮我做这个

正确的工具是使用双引号而不是大括号引号

set f_d "y"
exec sed {/feature $f_d starts/, /feature $f_d ends/ d} file > temp_file
请注意这意味着您可能需要非常小心。特别是,如果您的实际代码在sed脚本中有反斜杠或其他Tcl元字符,则需要引用这些字符

您可以完全在Tcl中完成此任务,而无需调用任何外部程序

exec sed "/feature $f_d starts/, /feature $f_d ends/ d" file > temp_file