diff cookies.old cookies.new
5c5
< One cup vanilla extract
---
> One teaspoon vanilla extract
7d6
< Six ounces chopped liver
21a22
Любые флаги / параметры могут помочь мне избавиться от этого 5c5, 7d6, 21a22 на выходе? Что именно означают эти символы?
Это номера строк и операция по замене одной на другую. «5c5» означает «строка пять изменена (заменена) на строку пять», «7d6» означает «удалить седьмую строку», «21a22» означает «добавить (добавить) строку 22».
Вы можете изменить формат вывода, используя такие параметры, как --context=NUM
или --unified
.
Вот еще немного информации о форматах вывода из info
файл для diff
.
Эта команда будет отображать только те строки, которые отличаются, без указания номера строки и типа модификации (она также удалит разделители «----»):
diff cookies.old cookies.new | grep '^[<>]'
Похоже, вам просто нужен более удобный вывод diff. Основная причина того, что diff такой точный, заключается в том, что он используется для создания патчей. Для более удобного вывода я рекомендую:
[kbrandt@alpine: ~/scrap/diff] echo -e 'foo\nbar' > file1
[kbrandt@alpine: ~/scrap/diff] echo -e 'foo\nbaz' > file2
[kbrandt@alpine: ~/scrap/diff] diff -y file1 file2
foo foo
bar | baz
[kbrandt@alpine: ~/scrap/diff] colordiff -y file1 file2
Colordiff предоставит вам параллельные изображения, но с линиями разного цвета, чтобы больше подчеркнуть различия.
http://www.linuxselfhelp.com/gnu/diffutils/html_chapter/diff_3.html
примечание: «Подробное описание нормального формата»
Числа используются для обозначения смещения файла, где возникает разница.
Проверьте страницу руководства diff или