【发布时间】:2016-11-09 23:37:55
【问题描述】:
我想向代表逗号分隔列表的字符串变量添加一个新项目,同时防止项目出现两次。
我想出了这个 python 解决方案:
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)
虽然该解决方案有效,但它不太适合 shell 脚本中的单行。
我已经使用awk、sed 或普通bash 尝试了几件事,但没有任何结果可以得出一个简短但仍然稳定的解决方案。有人知道如何用简短的命令行习语来表达吗?
【问题讨论】: