Я хочу добавить новый элемент в строковую переменную, которая представляет собой список, разделенный запятыми, и предотвращает возможность получения элементов дважды.Добавить элемент в список, разделенный запятыми, с одним слоем
Я придумал этот питона решения:
python -c "import sys ; first = set(sys.argv[1].split(',')) ; all = first.union(set(sys.argv[2:])) ; print ','.join(all)" 1,2 4 3 2
1,3,2,4
В нескольких строках:
import sys
first = set(sys.argv[1].split(','))
all = first.union(set(sys.argv[2:]))
print ','.join(all)
Хотя решение работает, это не очень хорошо подходит для однострочника в сценарии оболочки ,
Я пробовал пару вещей, используя awk
, sed
или обычный bash
, но ничто не приводит к короткому, но все еще устойчивому решению. У кого-нибудь есть идея, как выразить это с коротким иконом командной строки?
'эхо 5,4 3 4 5 | sed ... 'выходы', 3,4,5'. –
@JamesBrown Спасибо за подсказку. –