Eu tenho uma string como
"aaa,aaa,aaa,bbb,bbb,ccc,bbb,ccc"
Eu quero remover a palavra duplicada da string e a saída será como
"aaa,bbb,ccc"
Eu tentei Este código Source
$ echo "zebra ant spider spider ant zebra ant" | xargs -n1 | sort -u | xargs
Ele está funcionando bem com o mesmo valor, mas quando eu dou o valor da minha variável, ele também mostra todas as palavras duplicadas.
Como posso remover o valor duplicado?
UPDATE
Minha pergunta é adicionar todo o valor correspondente em uma única string se o usuário for o mesmo. Tenho dados como este - >
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
Na codificação eu busco todos os usuários distintos, então eu concateno a string de cores com sucesso. Para isso eu estou usando código -
while read the records
if [ "$c" == "" ]; then #$c I defined global
c="$colour1"
else
c="$c,$colour1"
fi
Quando imprimo esta variável $ c, obtenho a saída (para usuário AAA)
"red,black,blue,red,green,red,black,blue,red,green,"
Eu quero remover a cor duplicada. Então a saída desejada deve ser como
"red,black,blue,green"
Para esta saída desejada eu usei o código acima
echo "zebra ant spider spider ant zebra ant" | xargs -n1 | sort -u | xargs
mas está exibindo a saída com valores duplicados .Como
"vermelho, preto, azul, vermelho, verde, vermelho, preto, azul, vermelho, verde"
Obrigado