![如何用常用工具统计文件的行数?](https://linux22.com/image/19150/%E5%A6%82%E4%BD%95%E7%94%A8%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7%E7%BB%9F%E8%AE%A1%E6%96%87%E4%BB%B6%E7%9A%84%E8%A1%8C%E6%95%B0%EF%BC%9F%20.png)
我将grep
结果重定向到一个文件,然后用于cat
在屏幕上显示其内容。我想知道结果文件中有多少行结果,然后将其添加到某个计数器。
最好的方法是什么?任何相关标志grep
或cat
?
答案1
如果您已经将grep
输出收集到文件中,则可以使用以下命令输出编号列表:
cat -n myfile
如果您只想要行数,只需执行以下操作:
wc -l myfile
绝对没有理由这样做:
cat myfile | wc -l
...因为这不必要地执行必须重复的I/O (the cat
) 。wc
此外,您还有两个流程,一个就足够了。
如果您想grep
在终端上打印最后匹配的计数,您可以执行以下操作:
grep whatever myfile | tee /dev/tty | wc -l
注:/dev/tty
为控制终端。来自tty(4)
手册页:
该文件
/dev/tty
是一个字符文件,主设备号为 5,次设备号为 0,模式通常为 0666 和owner.group
root.tty
.它是进程的控制终端(如果有)的同义词。
答案2
答案3
使用
your_command | wc -l
从手册中:
NAME
wc - print newline, word, and byte counts for each file
...
-l, --lines
print the newline counts
答案4
您可以使用 wc -l 来获取行数。
例子:
$ cat foobar.txt | wc -l