@popopa

Как сравнить две переменные (файлы) и показать только отличия?

Доброго времени суток!

Подскажите, пожалуйста, как сравнить 2 переменные (можно файла) и вывести только отличия?

var1="akker assault atl_diso atl_inspire atl_main_db atl_park atl_pl atl_prof atl_sale atl_shop atl_urban explod freemot groosha nordic pavi prof sport"

var2="akker assault atl_diso atl_main_db atl_park atl_pl atl_pl atl_prof atl_sale atl_shop atl_urban explod freemot nordic pavi prof sport"

После сравнения должно вывести. различия:

( var3="atl_inspire groosha" )

if [[ if $var1 !=$var2 ]]; then
echo "not equal"
echo " $var3"
fi

Каким образом получить $var3?
  • Вопрос задан
  • 181 просмотр
Пригласить эксперта
Ответы на вопрос 2
gbg
@gbg
Любые ответы на любые вопросы
saboteur_kiev
@saboteur_kiev Куратор тега bash
software engineer
Попробуйте вот так для переменных $var1, $var2
diff --suppress-common-lines -a <(tr ' ' '\n'<<<"$var1") <(tr ' ' '\n'<<<"$var2") | grep -P -o "[<>]\s\K(.*)"|tr '\n' ' '


или вот так для файлов var1 и var2
diff --suppress-common-lines -a <(tr ' ' '\n'<var1) <(tr ' ' '\n'<var2) | grep -P -o "[<>]\s\K(.*)"|tr '\n' ' '
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы