如何读取wc -l命令的值

问题描述 投票:0回答:4

我有一个要求,我需要读取

wc -l
命令的值。基本上我正在运行以下命令来获取值5

bash-3.2$ wc -l sample.tcl
5 sample.tcl

现在使用tclexpect编程,我需要检查上面获得的值是否正确。

谁能告诉我如何使用 tcl Expect 编程来写这个吗?

tcl expect
4个回答
1
投票

如果你只是想执行一个shell命令,你可以使用

exec

% set result [exec wc -l sample.tcl]; # The variable 'result' will have the output
5 sample.tcl
% puts $result
5 sample.tcl

1
投票

您可以使用 Tcl 独立计算文件中的行数:

# I assume that the file is already opened and that the OS file pointer is at the start of the file
while {[gets $f dummyVariable] >= 0} {
    incr count
}

gets
命令读取一行,所以我们只需要统计它成功的次数即可。 (在该使用模式下,它在 EOF 时返回
-1
。)


0
投票

这是代码:

    set fname "Sample.tcl"
    puts "\n++++ The value of fname is $fname++++\n"
    send "cat > $fname\r"
    after 1000
    send "default ks\r"
    after 1000
    send "prompt 0\r"
    after 1000
    send "label ks\r"
    after 1000
    send " debug\r"
    after 1000
    send " error\r"
    after 1000      
    set var [exec wc -l $fname]
    puts "****The value of #line is $var*****"

0
投票

设置结果 [exec wc-1 文件名] 看跌期权 $看跌期权

© www.soinside.com 2019 - 2024. All rights reserved.