Cor*_*ein 9 linux sorting bash
我的工作涉及大量文件中的大量排序字段.我通常使用sortbash中的命令执行此操作.不幸的是,当我开始排序时,我真的不确定要花多长时间.我应该等待一秒钟才能显示结果,还是应该在运行时开始处理其他内容?
有没有什么方法可以了解排序的进展情况或工作速度有多快?
$ cut -d , -f 3 VERY_BIG_FILE | sort -du > output
Run Code Online (Sandbox Code Playgroud)
Fre*_*Foo 10
不,GNU sort不会进行进度报告.
但是,如果您sort只是用来删除重复项,并且实际上并不关心排序,那么有一种更具伸缩性的方法:
awk '! a[$0]++'
Run Code Online (Sandbox Code Playgroud)
这会在看到线路后立即写出第一次出现的线路,这可以让您了解线路的进度.
您可能想尝试一下pv,它应该可以让您很好地了解管道中的吞吐量情况。
pv在命令之前和之后注入sort以了解吞吐量的示例(未经测试) :
$ cut -d , -f 3 VERY_BIG_FILE | pv -cN cut | sort -du | pv -cN sort > output
Run Code Online (Sandbox Code Playgroud)
编辑:我错过了排序命令中的 -u ,因此首先计算行以获得百分比输出是无效的。从我的答案中删除了这一部分。