我正在尝试运行以下内容:
exec tail CRON_GBOI_INC_AVG_COMPRESS_20140425_18* | grep -i "status of" | awk -F" " '{ print $NF }'
它的作用是为包含文本grep
的行添加文件status of
,该文件将返回一个字符串,然后返回字符串中的最后一个字符。
但是,Tcl总是抛出以下错误:
编译该行时 missing close-bracket or close-brace
。
如何更改代码以执行我需要实现的操作?是否可以使用Tcl?
答案 0 :(得分:1)
Tcl的语法不是shell的语法。该行的转换将是:
exec tail {*}[glob CRON_GBOI_INC_AVG_COMPRESS_20140425_18*] | \
grep -i "status of" | awk "-F " {{ print $NF }}
这就是说,全局是明确的,双引号是圆整字,单引号改为括号。 (为了清楚起见,它还用2行反斜线换行序列。)
答案 1 :(得分:0)
的先生们, 碰巧,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不敏感)。