ceph-diff-sorted file1 file2
ceph-diff-sorted is a simplified diff utility optimized for comparing two files with lines that are lexically sorted.
The output is simplified in comparison to that of the standard diff tool available in POSIX systems. Angle brackets ('<' and '>') are used to show lines that appear in one file but not the other. The output is not compatible with the patch tool.
This tool was created in order to perform diffs of large files (e.g., containing billions of lines) that the standard diff tool cannot handle efficiently. Knowing that the lines are sorted allows this to be done efficiently with minimal memory overhead.
The sorting of each file needs to be done lexically. Most POSIX systems use the LANG environment variable to determine the sort tool's sorting order. To sort lexically we would need something such as:
$ LANG=C sort some-file.txt >some-file-sorted.txt
Compare two files:
$ ceph-diff-sorted fileA.txt fileB.txt
When complete, the exit status will be set to one of the following:
usage problem (e.g., wrong number of command-line arguments)
problem opening input file
bad file content (e.g., unsorted order or empty lines)
ceph-diff-sorted is part of Ceph, a massively scalable, open-source, distributed storage system. Please refer to the Ceph documentation at https://docs.ceph.com for more information.
2010-2023, Inktank Storage, Inc. and contributors. Licensed under Creative Commons Attribution Share Alike 3.0 (CC-BY-SA-3.0)