通信输出是否保证排序?

通信输出是否保证排序?

保证的输出是否comm已排序?在我的简单例子中,它们是,这对我来说很有意义(我认为通讯是如何工作的);但是,我需要comm非常大的文件,并担心 comm 可能会对非常大的文件执行一些黑魔法。

另外,有人可以指出我的来源comm吗?我一直无法找到此类脚本的来源。

谢谢

答案1

是的,如果您的输入行按当前整理顺序排序。来自 POSIX通讯标准输出文档:

如果输入文件是根据当前语言环境的整理顺序排序的,则写入的行应按照原始行的整理顺序。

如果你保证输入已排序,comm那么输出也保证已排序。

POSIX 还定义,如果您的输入没有按照当前语言环境的整理顺序排序,则输出comm将为未指定

如果你有GNU通讯,您可以使用选项--check-order进行未排序的输入,这将导致致命错误消息。

相关内容