Существует утилиты cmp, diff и sdiff для сравнения двух файлов в BASH. Допустим, вам нужно сравнить 2 файла. Пусть это будет 2 sql запроса. Как понять в каких строках поменялся код. Сравнивать два файла глазами - это утомительное занятие. Вы можете пропустить ошибку. Команды cmp, diff и sdiff покажут вам различия прямо в консоли. Посмотрите на примеры.
file1
/*описание*/
SELECT * FROM table1
WHERE id=1
file2
/*описание*/
SELECT * FROM table1
ORDER BY NAME
cmp - это утилита, сравнивает два файла. Если они различаются, то она сообщает о первом байте и строке, где было обнаружено различие.
# сравнение 2 файлов
cmp file1 file2
#вывод: file1 file2 различаются: байт 40, строка 3
В этом примере показаны отличающиеся части двух файлов. Различия можно увидеть прямо на экране. Сами отличающиеся строки разделяет вертикальная черта |. diff — утилита сравнения файлов, выводящая разницу между двумя файлами. Эта программа выводит построчно изменения, сделанные в файле (для текстовых файлов).
# сравнивание файлов
diff file1 file2
#вывод:
3c3
< WHERE id=1
---
> ORDER BY NAME
В этом примере вывод различающихся строк выполнен в 2 столбца. Это удобно! Вертикальная черта показывает вам строку в которой есть отличие.
#выводит два файла в 2 столбцах
diff -y file1 file2
#вывод:
#описание #описание
SELECT * FROM table1 SELECT * FROM table1
WHERE id=1 | ORDER BY NAME
Этом пример очень похож на предыдущий, но с той лишь разницей, что выводятся только отличия.
# сравнивает 2 файла и выводит в 2 столбца
sdiff -s file1 file2
#вывод:
WHERE id=1 | ORDER BY NAME
Если вы сравниваете один и тот же файл до изменений и после, то воспользуйтесь системой контроля версий GIT. В системе контроля версий тоже есть возможность отслеживать изменения. Не важно попали изменения в индекс или нет! Историю изменений одного файла можно отследить.
# проберитесь в каталог с приложением
# инициализация репозиория
git init
# первая запись
echo 'первая строка для первого файла' > file1.txt
# добавление всех новых файлов в индекс
git add -A
# первый коммит
git commit -ma 'первый коммит'
# первая запись
echo 'вторая строка для первого файла' > file1.txt
# показать различия
git diff
В git проще осматривать изменения. Для сравнения файлов не под гитом используйте команды cmp, diff и sdiff. Гит нужно устанавливать и настраивать, а команды сравнения файлов всегда под рукой. Если вам интересен GIT, то советую почитать статьи из моей категории GIT.