在 TCL 脚本中执行 sed 命令
Execute sed command inside TCL script
我正在尝试在 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)
你能帮我解决这个问题并帮助我找到最好的方法吗?
那是行不通的,因为单引号对 Tcl 没有 特殊含义。 Tcl 使用大括号来表示同样的事情(除了它们很好地嵌套),所以你可以使用这个:.
exec sed -i {/^\s*$/d} .tmp.PG_Ring
我正在尝试在 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)
你能帮我解决这个问题并帮助我找到最好的方法吗?
那是行不通的,因为单引号对 Tcl 没有 特殊含义。 Tcl 使用大括号来表示同样的事情(除了它们很好地嵌套),所以你可以使用这个:.
exec sed -i {/^\s*$/d} .tmp.PG_Ring