Как использовать командную строку macOS для сравнения содержимого двух папок с помощью Терминала

Быстро, просто и бесплатно.

Как использовать командную строку macOS для сравнения содержимого двух папок с помощью Терминала

Вы когда-нибудь хотели быстро сравнить две директории (папки), чтобы увидеть, какие файлы могут отличаться друг от друга? Конечно, существуют сторонние инструменты с графическим интерфейсом, но на самом деле бесплатный инструмент сравнения папок встроен в каждый Mac – для его использования нужно лишь перейти в Терминал. Программа называется diff, и пользоваться ею довольно просто.

Запустите Терминал (из меню Утилиты), а затем с помощью команды cd перейдите в каталог, содержащий папки, которые вы хотите сравнить. (Папки, конечно, могут быть расположены где угодно, но проще всего, если они находятся в одной). После этого просто выполните команду:

diff -rq folder1 folder2

Это довольно простая команда с двумя параметрами командной строки:
(-rq).

Ключ r указывает diff просматривать каждый каталог последовательно, включая все подкаталоги.

Переключатель q устанавливает diff в простой режим. Если бы мы не установили его, diff не только сказал бы вам, какие файлы отличаются между двумя папками, но и показал бы фактические различия между строками для любых текстовых файлов, которые существуют в обоих местах, но не являются идентичными.

Учитывая, что нас интересует только сравнение содержимого папок, нам не нужен такой уровень детализации, поэтому мы будем использовать режим brief, чтобы отключить его.

Вот и всё. Как это выглядит в действии (comments_new и comments_old - это две папки, которые мы сравниваем):

% cd phpcode%
diff -rq comments_new comments_old
Only in comments_new: config.php
Only in comments_old: config_old.php
Only in comments_old: functions.inc

Очевидно, что это упрощённый пример, но он работает так же хорошо и для больших папок с сотнями файлов. Конечно, diff способен на гораздо большее, чем простое сравнение папок; введите man diff, чтобы прочитать о его полных возможностях.


Ещё по теме:



0 Комментариев
You've successfully subscribed to Apple SPb Event
Great! Next, complete checkout for full access to Apple SPb Event
Welcome back! You've successfully signed in
Success! Your account is fully activated, you now have access to all content.