मेरे पास एक तार है
"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
लेकिन यह डुप्लिकेट मान के साथ आउटपुट प्रदर्शित कर रहा है
"लाल, काला, नीला, लाल, हरा, लाल, काला, नीला, लाल, हरा," धन्यवाद
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