gpt4 book ai didi

linux - 删除Linux中列表变量中的重复项

转载 作者:太空宇宙 更新时间:2023-11-04 03:50:24 25 4
gpt4 key购买 nike

我在这方面遇到了麻烦。

给定一个列表,例如 LIST="a b c . b c . d"我想最终得到 OUTPUT="a b c . d"

基本上我希望像 uniq 命令一样删除重复的项目,但不重新排序列表。所以使用 sort i 不是一个选择。

OUTPUT=
for term in $LIST
do
if [[ -n $( echo "$OUTPUT" | grep -w $term ) ]]; then
echo "$term in output already"
else
OUTPUT="$OUTPUT $term "
echo "$term added to output"
fi
done
echo -e $OUTPUT

此选项的问题是 .(点)被识别为通配符,因此它与输出中已有的任何内容匹配。我想知道是否有更聪明的方法来做到这一点,或者是否有一种简单的方法来处理点(.)

最佳答案

 LIST="a b c . b c . d"
i=0
for f in $LIST ; do
echo -e "$i\t$f"
i=$(($i+1))
done | sort -u -k 2 | sort -n | cut -f2

关于linux - 删除Linux中列表变量中的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26532287/

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