Объедините две строки и удалите повторяющиеся символы

У меня есть 2 строки, и я хочу объединить их и удалить дубликаты.

Пример:

a=abcdefghijkl
b=dfg 

тогда объединение их должно дать

c=dfgabcehijkl

где значение b предоставляется пользователем. Как я могу это сделать?

2 ответа

Решение

Нет необходимости sed, Вы можете сделать это в чистом виде:

a=abcdefghijkl
b=dfg
c="$b${a//[$b]/}"
echo "$c"

При этом используются встроенные в bash возможности подстановки строк, чтобы выполнить глобальную замену $a, удалив все символы, которые находятся в $b, Выход:

dfgabcehijkl
c="${b}$(echo "${a}" | sed "s/[${b}]//g")"
Другие вопросы по тегам