{
    "content": [
        {
            "type": "text",
            "text": "# cmp (info)\n\n## Sections\n\n- **12 Invoking 'cmp'** (1 subsections)\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "cmp",
        "section": "",
        "mode": "info",
        "summary": null,
        "synopsis": null,
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "12 Invoking 'cmp'",
                "lines": 37,
                "subsections": [
                    {
                        "name": "12.1 Options to 'cmp'",
                        "lines": 110
                    }
                ]
            }
        ],
        "sections": {
            "12 Invoking 'cmp'": {
                "content": "The 'cmp' command compares two files, and if they differ, tells the\nfirst byte and line number where they differ or reports that one file is\na prefix of the other.  Bytes and lines are numbered starting with 1.\nThe arguments of 'cmp' are as follows:\n\ncmp OPTIONS... FROM-FILE [TO-FILE [FROM-SKIP [TO-SKIP]]]\n\nThe file name '-' is always the standard input.  'cmp' also uses the\nstandard input if one file name is omitted.  The FROM-SKIP and TO-SKIP\noperands specify how many bytes to ignore at the start of each file;\nthey are equivalent to the '--ignore-initial=FROM-SKIP:TO-SKIP' option.\n\nBy default, 'cmp' outputs nothing if the two files have the same\ncontents.  If the two files have bytes that differ, 'cmp' reports the\nlocation of the first difference to standard output:\n\nFROM-FILE TO-FILE differ: char BYTE-NUMBER, line LINE-NUMBER\n\nIf one file is a prefix of the other, 'cmp' reports the shorter file's\nname to standard error, followed by a blank and extra information about\nthe shorter file:\n\ncmp: EOF on SHORTER-FILE EXTRA-INFO\n\nThe message formats can differ outside the POSIX locale.  POSIX\nallows but does not require the EOF diagnostic's file name to be\nfollowed by a blank and additional information.\n\nAn exit status of 0 means no differences were found, 1 means some\ndifferences were found, and 2 means trouble.\n\n* Menu:\n\n* cmp Options:: Summary of options to 'cmp'.\n\nFile: diffutils.info,  Node: cmp Options,  Up: Invoking cmp\n",
                "subsections": [
                    {
                        "name": "12.1 Options to 'cmp'",
                        "content": "Below is a summary of all of the options that GNU 'cmp' accepts.  Most\noptions have two equivalent names, one of which is a single letter\npreceded by '-', and the other of which is a long name preceded by '--'.\nMultiple single letter options (unless they take an argument) can be\ncombined into a single command line word: '-bl' is equivalent to '-b\n-l'.\n\n'-b'\n'--print-bytes'\nPrint the differing bytes.  Display control bytes as a '^' followed\nby a letter of the alphabet and precede bytes that have the high\nbit set with 'M-' (which stands for \"meta\").\n\n'--help'\nOutput a summary of usage and then exit.\n\n'-i SKIP'\n'--ignore-initial=SKIP'\nIgnore any differences in the first SKIP bytes of the input files.\nTreat files with fewer than SKIP bytes as if they are empty.  If\nSKIP is of the form 'FROM-SKIP:TO-SKIP', skip the first FROM-SKIP\nbytes of the first input file and the first TO-SKIP bytes of the\nsecond.\n\n'-l'\n'--verbose'\nOutput the (decimal) byte numbers and (octal) values of all\ndiffering bytes, instead of the default standard output.  Each\noutput line contains a differing byte's number relative to the\nstart of the input, followed by the differing byte values.  Byte\nnumbers start at 1.  Also, output the EOF message if one file is\nshorter than the other.\n\n'-n COUNT'\n'--bytes=COUNT'\nCompare at most COUNT input bytes.\n\n'-s'\n'--quiet'\n'--silent'\nDo not print anything; only return an exit status indicating\nwhether the files differ.\n\n'-v'\n'--version'\nOutput version information and then exit.\n\nIn the above table, operands that are byte counts are normally\ndecimal, but may be preceded by '0' for octal and '0x' for hexadecimal.\n\nA byte count can be followed by a suffix to specify a multiple of\nthat count; in this case an omitted integer is understood to be 1.  A\nbare size letter, or one followed by 'iB', specifies a multiple using\npowers of 1024.  A size letter followed by 'B' specifies powers of 1000\ninstead.  For example, '-n 4M' and '-n 4MiB' are equivalent to '-n\n4194304', whereas '-n 4MB' is equivalent to '-n 4000000'.  This notation\nis upward compatible with the SI prefixes\n(http://www.bipm.fr/enus/3SI/si-prefixes.html) for decimal multiples\nand with the IEC 60027-2 prefixes for binary multiples\n(http://physics.nist.gov/cuu/Units/binary.html).\n\nThe following suffixes are defined.  Large sizes like '1Y' may be\nrejected by your computer due to limitations of its arithmetic.\n\n'kB'\nkilobyte: 10^3 = 1000.\n'k'\n'K'\n'KiB'\nkibibyte: 2^10 = 1024.  'K' is special: the SI prefix is 'k' and\nthe IEC 60027-2 prefix is 'Ki', but tradition and POSIX use 'k' to\nmean 'KiB'.\n'MB'\nmegabyte: 10^6 = 1,000,000.\n'M'\n'MiB'\nmebibyte: 2^20 = 1,048,576.\n'GB'\ngigabyte: 10^9 = 1,000,000,000.\n'G'\n'GiB'\ngibibyte: 2^30 = 1,073,741,824.\n'TB'\nterabyte: 10^12 = 1,000,000,000,000.\n'T'\n'TiB'\ntebibyte: 2^40 = 1,099,511,627,776.\n'PB'\npetabyte: 10^15 = 1,000,000,000,000,000.\n'P'\n'PiB'\npebibyte: 2^50 = 1,125,899,906,842,624.\n'EB'\nexabyte: 10^18 = 1,000,000,000,000,000,000.\n'E'\n'EiB'\nexbibyte: 2^60 = 1,152,921,504,606,846,976.\n'ZB'\nzettabyte: 10^21 = 1,000,000,000,000,000,000,000\n'Z'\n'ZiB'\n2^70 = 1,180,591,620,717,411,303,424.  ('Zi' is a GNU extension to\nIEC 60027-2.)\n'YB'\nyottabyte: 10^24 = 1,000,000,000,000,000,000,000,000.\n'Y'\n'YiB'\n2^80 = 1,208,925,819,614,629,174,706,176.  ('Yi' is a GNU extension\nto IEC 60027-2.)\n"
                    }
                ]
            }
        }
    }
}