我有一个程序,我从文件中加载文本,然后根据其中一个字段对其进行过滤。我感兴趣的是这个过滤步骤之后的数据大小。
理想情况下,我将能够执行以下操作:awk '$2>=10' <myfile | du -
我可以应用过滤器并将输出保存在某处,对其调用 du,然后删除文件,但文件很大,因此写入磁盘可能需要一段时间。
认识到它du
代表“磁盘使用”,我怀疑我在问一些没有意义的东西,考虑到程序是如何工作的。如果有另一个通用实用程序可以做到这一点,请提出建议!
您可以将其通过管道传输wc -c
到计算通过管道的字节数。
du
代表“磁盘使用情况”。管道中的数据不会命中磁盘,因此没有“du”可以使用。改为使用wc
,即“字数”。
awk '$2>=10' < myfile | wc -c
该-c
标志计算字节数。
在 zsh 中,您可以:
du -h =(cat myfile)
中的输出=(...)
将保存在一个临时文件中,该文件的路径将替换=(...)
. 该文件将在命令完成后被删除。