如何检查文件中的行是否按字母顺序排序

如何检查文件中的行是否按字母顺序排序

作为健全性检查,我想验证文件中的行是否按字母顺序排序。我不想种类按字母顺序排列文件(预计文件已排序)。我只想验证它确实已排序。

答案1

sort -c会做你想做的事。正如 GNU 手册页明确指出的那样,这不会尝试对输入进行排序,它仅检查是否已排序。实际上,检查文件是否排序的唯一方法是再次排序并查看它是否不同 - 您只需要读取文件并确保每个记录排序更高(或更低,视情况而定)比之前的那个。但是,没有办法避免至少读取整个文件(除非您发现一条记录无序,在这种情况下您可以立即停止)。

相关内容