如何存储总数。 shell脚本中的变量中的行?

时间:2018-01-22 11:22:29

标签: bash shell wc

我在错误中收到了这个 -

$extracted_log_path_value

syntax error near unexpected token `total_lines="$(wc -l "$extracted_log_path_value" | cut -d' ' -f1)"'. 存储正确定义的文件路径。我使用简单的shell脚本。没有安装插件。我也尝试过以下命令 - “

total_lines="$(wc -l "$extracted_log_path_value" | cut -d' ' -f1)"

这是用shell脚本编写的代码。我也粘贴了实际的行 -

import numpy as np

j = np.array([ 0.49010508,  0.        ,  0.        ,  0.        ,  0.        ,
    0.        ,  0.        ,  0.        ,  0.09438115,  0.        ,
    0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
    0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
    0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
    0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
    0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
    0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
    0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
    0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
    0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
   -1.        , -1.        , -1.        , -1.        , -1.        ,
   -1.        , -1.        , -1.        , -1.        , -1.        ,
   -1.        , -1.        ])

j = j[j!=-1]
print j

`

1 个答案:

答案 0 :(得分:1)

wc不希望将文件输入STDIN,它希望将文件名作为简单参数。

total_lines="$(wc -l "$extracted_log_path_value" | cut -d' ' -f1)"

应该做的伎俩。 cut部分删除文件名并仅保留行数。

<强> ---

更正:如果您没有将任何文件指定为参数,wc 会从STDIN读取,并打印出行数。如果你这样做,你就不需要再调用cut

total_lines="$(wc -l < "$extracted_log_path_value")"