Wc和从文件中读取

时间:2014-03-18 15:40:23

标签: bash wc

我想在不使用wc的临时文件的情况下检查某个文件的行数。 我尝试使用类似这样的内容:var=${wc -l a.txt}wc -l a.txt | read line,但两者都不起作用。

2 个答案:

答案 0 :(得分:4)

存储命令输出的方法是var=$(command),而不是您使用的var=${command}

因此,这样做:

var=$(wc -l a.txt)    # returns XX a.txt

要存储该号码,请执行

var=$(wc -l < a.txt)  # returns XX
            ^

答案 1 :(得分:1)

小心!

wc -l < a.txt可能看起来像是正确的答案......但如果您想在其他地方使用该数字,例如在计算或if-block中的测试中,您的脚本可能会失败。为什么?因为wc -l为您提供了数字,但可以在其前面加上一些空格,具体取决于您的wc版本(请查看评论)。要获取号码,号码,您可以尝试:

echo $(wc -l < a.txt)

我希望这有帮助!