我试图在UNIX /
Linux脚本中使用sort -m合并许多排序的文件,我注意到排序首先将结果写入临时文件,然后将其复制到目标.我对-m的理解是,它假定文件被排序,所以使用临时文件是完全不必要的,它会浪费硬盘空间和cpu周期(我在管道中使用排序,等待排序输出任何东西.)有没有办法告诉排序在合并排序的文件时不使用临时文件?还是更好的版本呢?
确切的CL看起来像:
$sort -m -s -t '_' -k 1,1n -k 2,2n <(gunzip <file_1) [...] <(gunzip <file_n) | gzip >output
我正在使用GNU coreutils 5.97中的排序.
从人类排序中查看这些选项,他们可能会让您最小化合并所需的空间.
原文链接:https://www.f2er.com/bash/384053.html–batch-size = NMERGE一次合并大多数NMERGE输入;更多使用临时文件
–compress-program = PROG使用PROG压缩临时性;用PROG -d解压缩它们