我想在不使用 wc 的临时文件的情况下检查某个文件的行数。我尝试使用类似这样的东西:var=${wc -l a.txt}
或者wc -l a.txt | read line
两者都不起作用。
问问题
238 次
2 回答
4
存储命令输出的方式var=$(command)
不是var=${command}
您使用的方式。
因此,这将做:
var=$(wc -l a.txt) # returns XX a.txt
要仅存储数字,请执行
var=$(wc -l < a.txt) # returns XX
^
于 2014-03-18T15:41:04.137 回答
1
谨防!
wc -l < a.txt
可能看起来是正确的答案...但是如果您想在其他地方使用该数字,例如在计算或 if 块内的测试中,您的脚本可能会失败。为什么?因为wc -l
给了你数字,但它前面可以有一些空格,这取决于你的wc
版本(请看评论)。为了获得号码,并且只有号码,您可以尝试:
echo $(wc -l < a.txt)
我希望这有帮助!
于 2014-03-18T16:04:41.300 回答