Как найти изменения в тексте после правки ИИ с помощью diff на Mac
Пошагово сравниваем исходный и исправленный текст встроенной командой diff, сохраняем отчёт и устраняем ложные различия из-за кодировки и переносов строк.
- Система
- macOS 27.0
Подробности проверки
- macOS 27.0 (26A428), arm64
- zsh 5.9
- Apple diff на основе FreeBSD diff
- file 5.41
- встроенный iconv.
- Учебные TXT: unified diff, коды завершения 0/1/2, UTF-8, CRLF, --strip-trailing-cr и тестовая конвертация Windows-1251 воспроизведены локально автором.
Сравнение на глаз легко пропускает заменённое число, удалённую оговорку или добавленное обещание. Встроенная в macOS команда diff показывает изменения построчно. Устанавливать программу и отправлять документы в новый сервис не нужно: сравнение выполняется локально.
Инструкция подойдёт тем, кто получил от ИИ исправленную версию письма, статьи, плана или другого текста и хочет проверить её перед использованием. Нужны Mac, приложение «Терминал» и две копии текста в формате TXT: до правки и после неё. Команды ниже не изменяют эти файлы.
Что получится
В конце у вас будет читаемый список удалённых и добавленных строк, а при необходимости — отдельный файл ai-text-review.diff. По нему удобно проверять имена, числа, даты, условия и другие смысловые изменения. Форматирование Pages, Word и RTF этот способ не сравнивает.
1. Сохраните версии как обычный текст
- Не заменяйте исходник исправленной версией.
- Создайте рабочую папку ai-text-diff на рабочем столе и положите в неё два файла: original.txt — текст до правки ИИ, revised.txt — текст после правки.
- Имена лучше оставить такими же, чтобы команды можно было копировать без изменений.
Если вы используете TextEdit, откройте документ и выберите команду Format → Make Plain Text; в локализованном интерфейсе название может отличаться. Затем сохраните документ с расширением .txt. По актуальному руководству Apple эта команда удаляет стили и сохраняет документ как TXT. Таблицы, изображения и оформление при таком преобразовании теряются, поэтому исходный документ сохраните отдельно.
2. Откройте рабочую папку в Терминале
Откройте «Терминал» из папки «Утилиты». Эти три команды создадут рабочую папку на рабочем столе и перейдут в неё. Если папка уже есть, её содержимое не удалится.
workdir="$HOME/Desktop/ai-text-diff"
mkdir -p "$workdir"
cd "$workdir"Сохраните или скопируйте original.txt и revised.txt в папку ai-text-diff на рабочем столе. Двойные кавычки обязательны для путей с пробелами. Маркер -- перед именами в следующих командах отделяет параметры от файлов, поэтому имя не будет принято за флаг.
3. Проверьте формат файлов
Сначала убедитесь, что оба файла распознаны как обычный текст. Для текста с кириллицей обычно ожидается UTF-8; файл только из символов ASCII может определиться как US-ASCII.
file -I -- "original.txt" "revised.txt"Ожидаемый результат содержит text/plain и charset=utf-8 либо charset=us-ascii. Команда file определяет кодировку по содержимому эвристически, поэтому её вывод нужно сопоставлять с тем, как текст отображается в редакторе. Если один из файлов оказался RTF, Word или другим форматом, вернитесь в редактор и сохраните отдельную простую текстовую копию.
4. Покажите изменения
Запустите сравнение в едином формате: сначала исходник, затем исправленная версия.
diff -u --label original.txt --label revised.txt -- "original.txt" "revised.txt"Строки с минусом есть в исходнике, но отсутствуют в новой версии. Строки с плюсом добавлены в новую версию. Строки без знака показаны для контекста. Заголовок вида @@ -1,6 +1,7 @@ сообщает диапазоны строк, а не отдельную правку. Проверяйте пары минус/плюс вместе: так diff показывает замену.

На учебных файлах видно три смысловых изменения: к проверке билетов добавился багаж, появилась страховка, бюджет вырос с 40 000 до 45 000 рублей. Строка с контактом не изменилась и показана только для контекста.
5. Сохраните результат
Чтобы получить отдельный отчёт, перенаправьте вывод в файл, а следующей командой сразу сохраните код завершения.
diff -u --label original.txt --label revised.txt -- "original.txt" "revised.txt" > "ai-text-review.diff"
diff_status=$?
printf 'Код diff: %d\n' "$diff_status"Код 1 здесь означает, что различия найдены: это нормальный успешный результат сравнения. Код 0 означает, что файлы одинаковы. Код больше 1 означает ошибку, например неверное имя файла. Откройте отчёт командой open "ai-text-review.diff" или через Finder.
6. Если изменилось почти всё: проверьте переносы строк
Два визуально одинаковых файла могут использовать разные окончания строк. macOS обычно сохраняет LF, а некоторые Windows-программы — CRLF. Проверьте оба файла.
file -- "original.txt" "revised.txt"Если только один результат содержит with CRLF line terminators, повторите сравнение так:
diff -u --strip-trailing-cr --label original.txt --label revised.txt -- "original.txt" "revised.txt"Параметр --strip-trailing-cr игнорирует служебный CR в конце строк во время сравнения и не переписывает оригиналы. Он не должен скрывать другие различия. Сохранённые исходники оставьте без изменений, чтобы к ним можно было вернуться.
7. Если вместо букв появились непонятные символы: проверьте кодировку
UTF-8 и переносы строк — разные свойства. CRLF-файл может оставаться UTF-8, а одинаковые LF не гарантируют одинаковую кодировку. Снова выполните file -I для обеих версий. Если кодировки различаются, безопаснее открыть копию файла в TextEdit с правильно выбранной исходной кодировкой и сохранить новую копию в UTF-8. В настройках TextEdit Apple отдельно позволяет выбирать кодировку открытия и сохранения обычного текста.
Если исходная кодировка точно известна, встроенная команда iconv может создать новую копию. Например, для Windows-1251:
iconv -f WINDOWS-1251 -t UTF-8 "original.txt" > "original-utf8.txt"Не угадывайте значение после -f: неверный выбор может заменить или исказить символы. После преобразования повторно выполните file -I и визуально сверьте имена, кавычки, тире, валюты и числа с исходником.

На проверочном примере file определил оба рабочих файла как UTF-8, отдельно обнаружил CRLF в копии исходника, а diff --strip-trailing-cr подтвердил отсутствие смысловых различий между LF- и CRLF-версиями.
Частые ошибки
- «No such file or directory». Терминал не нашёл файл. Проверьте текущую папку командой pwd и имена командой ls. Не удаляйте кавычки вокруг путей с пробелами.
- Вывод пустой. Файлы совпадают; это подтверждается кодом 0, если сразу после diff выполнить printf 'Код diff: %d\n' "$?".
- Изменилась каждая строка. Сначала проверьте CRLF и кодировку. Не включайте -w в основной запуск: этот параметр скрывает все различия в пробелах, которые иногда важны.
- Появилось Binary files differ. Скорее всего, сравниваются DOCX, RTF, PDF или другой неплоский формат. Создайте отдельные TXT-копии. Простое переименование расширения в .txt не преобразует содержимое.
- В отчёте есть личные данные. diff повторяет изменённые строки из обоих файлов. Храните отчёт так же внимательно, как оригинал, и перед отправкой проверьте его содержимое.
Как отменить изменения
Команды сравнения не меняют original.txt и revised.txt. Для отмены достаточно переместить ai-text-review.diff и ненужные рабочие копии в Корзину через Finder. Не удаляйте исходный документ, пока не завершили проверку и не приняли правки.
Что проверено
23 сентября 2026 года команды воспроизведены на Mac с macOS 27.0, arm64, zsh 5.9, Apple diff на основе FreeBSD diff и file 5.41. На учебной паре проверены точный unified diff, коды 0, 1 и 2, безопасные кавычки для путей, распознавание UTF-8 и CRLF, сравнение с --strip-trailing-cr и обратное преобразование тестовой строки UTF-8 → Windows-1251 → UTF-8 встроенным iconv.
Проверка относится к обычным текстовым TXT-файлам. Интерфейсы Pages и Word, их режимы отслеживания правок, бинарные документы, совместная работа и другие версии macOS не проверялись.