我想在不使用wc的临时文件的情况下检查某个文件的行数。
我尝试使用类似这样的内容:var=${wc -l a.txt}
或wc -l a.txt | read line
,但两者都不起作用。
答案 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)
我希望这有帮助!