gpt4 book ai didi

bash - 用一行将项目添加到逗号分隔列表

转载 作者:行者123 更新时间:2023-11-29 09:39:46 25 4
gpt4 key购买 nike

我想向表示逗号分隔列表的字符串变量添加一个新项目,同时防止项目出现两次。

我想到了这个 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 脚本中的单行代码。

我已经使用 awksed 或普通的 bash 尝试了一些事情,但没有任何结果导致一个简短但仍然稳定的解决方案。有没有人知道如何用简短的命令行惯用语来表达这一点?

最佳答案

awk 助您一臂之力!

$ echo -n "1,2 4 3 2" | awk -v RS='[, ]' '!a[$0]++' | paste -sd,

1,2,4,3

关于bash - 用一行将项目添加到逗号分隔列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38249072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com