我将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