在TCL脚本中执行sed命令

时间:2015-04-23 12:21:30

标签: sed tcl

我正在尝试在TCL脚本中执行sed命令。基本上我想在使用TCL读取文件之前从输入文件中删除所有空行。所以我试着在我的剧本中跟随

 exec sed -i '/^\s*$/d' .tmp.PG_Ring
 set fid [open ".tmp.PG_Ring" r]

但脚本正在按照错误转储。

sed: -e expression #1, char 1: unknown command: `''
while executing
"exec sed -i '/^\s*$/d' .tmp.PG_Ring"
(file "pg_ring.tcl" line 1)

你能不能请我解决这个问题。帮助我做最好的方法吗?

1 个答案:

答案 0 :(得分:4)

这不起作用,因为单引号根本没有 no 特殊含义。 Tcl使用大括号来表示同样的事情(除了它们很好地嵌套),所以你可以使用它:。

exec sed -i {/^\s*$/d} .tmp.PG_Ring