2

Когда я выполняю различие между старыми и новыми файлами, я получаю эту строку DDDC, существующую в старом файле, со знаком «<» в качестве следующего

diff -w old   new
103a104
> BBB
224c225
< DDDC

Но, пожалуйста, посоветуйте, если diff может отображать только строку DDDC из старого файла без знака "<" или ">" или некоторых чисел как 103a104 или 224c225 и т.д. И все эти глупости

Например (запрошенный вывод из diff надеюсь, что это реалистично -

diff -w old new
DDDC

Мне нужно получить следующий формат (только строки, которые существуют в старом файле и не отображаются в новом файле)

2 ответа2

2

Попробуйте это:

diff --old-line-format=$'%l\n' --new-line-format='' --changed-group-format='%<' --unchanged-group-format='' old new

Кроме того, попробуйте это для сравнения

join -v 1 <(sort old) <(sort new)
1

Попробуй это:

diff old new|grep "^< "|cut -c 3-

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .