我有一个像
"aaa,aaa,aaa,bbb,bbb,ccc,bbb,ccc"
我想从字符串中删除重复的单词,然后输出将像
"aaa,bbb,ccc"
我尝试过此代码源
$ echo "zebra ant spider spider ant zebra ant" | xargs -n1 | sort -u | xargs
使用相同的值可以正常工作,但是当我提供变量值时,它也会显示所有重复的单词。
如何删除重复的值。
更新
我的问题是如果用户相同,则将所有对应的值添加到单个字符串中。我有这样的数据->
user name | colour
AAA | red
AAA | black
BBB | red
BBB | blue
AAA | blue
AAA | red
CCC | red
CCC | red
AAA | green
AAA | red
AAA | black
BBB | red
BBB | blue
AAA | blue
AAA | red
CCC | red
CCC | red
AAA | green
在编码中,我获取了所有不同的用户,然后成功连接了颜色字符串。为此,我正在使用代码-
while read the records
if [ "$c" == "" ]; then #$c I defined global
c="$colour1"
else
c="$c,$colour1"
fi
当我打印此$ c变量时,我得到输出(对于用户AAA)
"red,black,blue,red,green,red,black,blue,red,green,"
我想删除重复的颜色。然后所需的输出应该像
"red,black,blue,green"
对于此所需的输出,我使用了上面的代码
echo "zebra ant spider spider ant zebra ant" | xargs -n1 | sort -u | xargs
但是它将显示具有重复值的输出。
“红色,黑色,蓝色,红色,绿色,红色,黑色,蓝色,红色,绿色,”谢谢
3
请说明您使用的是什么问题。我不明白“当我给我可变价值时”的意思。你给什么价值?它在哪里失败?
—
terdon
echo 'aaa aaa aaa bbb bbb ccc bbb ccc' | xargs -n1 | sort -u | xargs
给aaa bbb ccc
..,因此您需要显示累了的确切代码,并输出您得到的..,该字符串带有变量:s='aaa aaa aaa bbb bbb ccc bbb ccc'; echo "$s" | xargs -n1 | sort -u | xargs
字符串值是动态产生的。它正在打印相同的值(包含重复值)。
—
Urvashi
是的,显示失败的代码,否则我们怎么知道可能出了什么问题?
—
Sundeep
顺序重要吗?
—
Jacob Vlijm '17