用 cmp 替代 diff 做 Shell 文件快速比对
Что произошло
2026-10-04,Kondasamy Jayaraman 在工程博客发布 TIL,介绍在 Shell 脚本中用 cmp 替代 diff 判断两个文件是否相同。文章称 cmp 逐字节比较并在首个不匹配处停止,即使文件达到 GB 级也能在毫秒内完成,而 diff 需要逐行解析全文。cmp 的 -s 静默模式通过退出码返回结果:0 表示文件相同,1 表示不同,2 表示文件缺失或不可读。作者认为 cmp 适合二进制文件和自动化脚本,且 POSIX 环境默认自带。
Создано ИИ на основе публикаций · Обновлено 1 день назад
Хронология публикаций
Следите за публикациями, чтобы увидеть разные стороны события.
- Kondasamy Jayaraman · Engineering BlogTIL: побайтовое сравнение файлов в Shell-скриптах с помощью cmp
Чтобы проверить, одинаковы ли два файла, в Shell-скрипте можно использовать cmp вместо diff: cmp сравнивает файлы побайтово и останавливается на первом несовпадении — даже для файлов размером в гигабайты это займёт миллисекунды, тогда как diff построчно разбирает весь текст. Тихий режим -s возвращает результат через код выхода: 0 — файлы совпадают, 1 — различаются, 2 — файл отсутствует или недоступен для чтения. cmp подходит для бинарных файлов и автоматизированных скриптов, а в POSIX-окружениях он есть по умолчанию.
Динамика интереса к событию
Текущий интерес 3·Пик в сопоставимом диапазоне 4(5 окт., 15:00)·Изменение за 24 часа в сопоставимом диапазоне –
График сравнивает одних и тех же участников при непрерывном полном наблюдении, поэтому охват может быть уже, чем у текущего индекса. Наведите указатель или нажмите на график для просмотра почасовых данных; используйте стрелки влево и вправо для навигации.