Рейтинг:0

Раскрасьте вывод diff бок о бок и поместите заголовок метки на diff

флаг cn

Я пишу скрипт bash для сравнения двух папок.

Сценарий соберет некоторую информацию о пользователе (папки и файлы для сравнения), а затем просмотрит массив, чтобы показать различия.

Что-то вроде:

caseNames = ("Путь1" "Путь2")

elementsToCompare= ("ПапкаA" "ПапкаB" "файлA" "файлB")


для i в ${elementsToCompare[@]}; делать
    diff -r "${caseNames[0]}""/"$i "${caseNames[1]}""/"$i| цветовое различие | меньше -R

сделано

Теперь я хотел бы показать параллельное сравнение между файлами. Переключатель существует в разница сделать это, но это не раскрасит вывод. Есть какой-либо способ сделать это?

Кроме того, параллельное сравнение показывает весь документ, возможно ли ограничить это n строками выше и ниже разницы?

Наконец, я хотел бы сообщить пользователю, какой файл проверяется. Иногда разница помещает заголовок как:

diff -r Путь1/ПапкаA/foo Путь2/oldA/foo

В других случаях он просто покажет различия файлов (я испытал это с обычными текстовыми файлами), и я не знаю, какой файл сравнивается. Можно ли поместить заголовок, чтобы показать пользователю сравниваемые файлы?

С уважением!

sudodus avatar
флаг jp
Если вы используете `diff -u файл1 файл2 > filediff.patch` и просматриваете его в текстовом редакторе geany, будут приятные цвета, которые помогут увидеть то, что, как мне кажется, вы хотите увидеть. попробуйте `geany filediff.patch`. Файл `filediff.patch` также можно использовать для исправления `file2`, чтобы получить то же содержимое, что и `file2`. Смотрите `man diff` и `man patch`, чтобы получить более подробную информацию.Вы также можете получить цвета в редакторе `nano`, попробуйте также командную строку: `nano filediff.patch` и используйте инструмент, который вам больше нравится.
N0rbert avatar
флаг zw
Meld или FreeFileSync сделают это графически. Не изобретайте велосипед с квадратными колесами.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.