从Tcl脚本运行管道unix命令
我正在尝试运行以下程序:从Tcl脚本运行管道unix命令,tcl,Tcl,我正在尝试运行以下程序: exec tail CRON_GBOI_INC_AVG_COMPRESS_20140425_18* | grep -i "status of" | awk -F" " '{ print $NF }' 它所做的是跟踪文件,grep,用于包含文本status of的行,该行将返回一个字符串,然后返回字符串中的最后一个字符 但是,Tcl总是抛出以下错误: 编译该行时缺少右括号或右大括号 如何更改代码以实现所需的目标?Tcl有可能吗?Tcl的语法不是shell的语法。该行的转
exec tail CRON_GBOI_INC_AVG_COMPRESS_20140425_18* | grep -i "status of" | awk -F" " '{ print $NF }'
它所做的是跟踪文件,grep
,用于包含文本status of
的行,该行将返回一个字符串,然后返回字符串中的最后一个字符
但是,Tcl总是抛出以下错误:
编译该行时缺少右括号或右大括号
如何更改代码以实现所需的目标?Tcl有可能吗?Tcl的语法不是shell的语法。该行的转换为:
exec tail {*}[glob CRON_GBOI_INC_AVG_COMPRESS_20140425_18*] | \
grep -i "status of" | awk "-F " {{ print $NF }}
也就是说,globbing是显式的,双引号是整词的圆引号,单引号变成大括号。(为了清晰起见,它还用反斜杠换行符顺序在两行上断开。)Sirs,
实际上,Tcl字符串处理可能会使这更容易:-
set stringBack [exec tail [lindex $argv 0] | grep -i "[lindex $argv 1]" ]
set wanted [string index $stringBack end]
puts "stat chr is $wanted"
比如说,
./charget /path/to/file 'text hook we choose'
以文件和文本挂钩作为参数(引用文本挂钩字符串以切换到grep) 不幸的是,这对我不起作用。这是我在编译“exec tail{*}[glob CRON_GBOI_INC_AVG_COMPRESS_20140425_18*]| grep-I”状态为“{print$NF}”时,在右大括号后得到的
额外字符的错误消息。
我还尝试了你的awk“-F”
语法,但也不起作用`