如何计算输出的行数?


30

假设我有程序:

Calculate.py

有unix命令行来计算从我的程序Calculate.py输出的行数吗?

Answers:


51

您可以将输出通过管道传递到wc。您可以使用该-l标志来计数行。正常运行程序,并使用管道重定向到wc.

python Calculate.py | wc -l

或者,您可以将程序的输出重定向到一个文件,例如calc.out,并wc在该文件上运行。

python Calculate.py > calc.out
wc -l calc.out

3
像这样的小事情使管道变得如此强大。我们会尽力将这种互操作性带回到软件开发中,我想这就是函数式编程的全部意义。
约书亚·品特

1
如果您只想将行数通过管道传递到另一个函数中,则@JoshuaPinter在另一个上,现在需要手动解析的输出wc。幸运的是cut -f1 -d' ',这很容易(),但并非每个命令都一样。对于Powershell方法来说,有一点要说,就是使命令行基元成为“对象”,而不是文本流。
shadowtalker

@shadowtalker我对Powershell并不熟悉,但是传递objects而不是Strings是有意义的。在某个时候,我想深入研究更多的命令行工具。
约书亚·品特

1

上面的communication(wc -l)也将计算空行。所以最好使用下面的命令删除空行并计数

python Calculate.py |sed '/^$/d'| awk '{print NR}'| sort -nr| sed -n '1p'
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.