使用带du的管道来计算stdin的"大小"

reo*_*toa 13 linux stdin du

我有一个程序,我从文件中加载文本,然后根据其中一个字段过滤它.我感兴趣的是此过滤步骤后的数据大小.

理想情况下,我可以做类似的事情: awk '$2>=10' <myfile | du -

我可以只应用过滤器并将输出保存在某处,在其上调用du,然后删除该文件,但文件非常大,因此写入磁盘可能需要一段时间.

认识到du代表"磁盘使用",我怀疑我会问一些没有意义的东西,考虑到程序是如何工作的.如果有另一个常用的实用程序,请建议它!

Bri*_*ell 22

您可以wc -c将其通过管道来计算通过管道的字节数.


Mar*_*c B 5

du代表“磁盘使用”。管道中的数据不会到达磁盘,因此没有“du”可以使用。wc改为使用,即“字数统计”。

awk '$2>=10' < myfile | wc -c
Run Code Online (Sandbox Code Playgroud)

-c标志计算字节数。