我将grep结果重定向到一个文件,然后cat用于在屏幕上显示其内容。我想知道我的结果文件中有多少行结果,然后将其添加到某个计数器中。
最好的方法是什么?任何相关标志grep或cat?
JRF*_*son 178
如果您已经收集了 grep在文件中输出,您可以输出一个编号列表:
cat -n myfile
Run Code Online (Sandbox Code Playgroud)
如果您只想要行数,只需执行以下操作:
wc -l myfile
Run Code Online (Sandbox Code Playgroud)
绝对没有理由这样做:
cat myfile | wc -l
Run Code Online (Sandbox Code Playgroud)
...因为这会不必要地执行 I/O( catwc必须重复的 ) 。此外,您有两个进程,一个就足够了。
如果您想grep在终端上打印匹配数,您可以执行以下操作:
grep whatever myfile | tee /dev/tty | wc -l
Run Code Online (Sandbox Code Playgroud)
per*_*i4n 76
该-c标志将做的工作。例如:
grep -c ^ filename
Run Code Online (Sandbox Code Playgroud)
将计算返回的行数grep。
记录在 手册页中记录:
-c, --count 抑制正常输出;而是打印每个输入文件的匹配行数
小智 22
用
your_command | wc -l
Run Code Online (Sandbox Code Playgroud)
从手册:
NAME
wc - print newline, word, and byte counts for each file
...
-l, --lines
print the newline counts
Run Code Online (Sandbox Code Playgroud)