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

pse*_*udo 1 sort files

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

pat*_*ron 5

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