Saya punya string seperti
"aaa,aaa,aaa,bbb,bbb,ccc,bbb,ccc"
Saya ingin menghapus duplikat kata dari string maka hasilnya akan seperti
"aaa,bbb,ccc"
Saya mencoba Sumber kode ini
$ echo "zebra ant spider spider ant zebra ant" | xargs -n1 | sort -u | xargs
Ini berfungsi dengan baik dengan nilai yang sama, tetapi ketika saya memberikan nilai variabel saya maka itu menunjukkan semua kata duplikat juga.
Bagaimana saya bisa menghapus nilai duplikat.
MEMPERBARUI
Pertanyaan saya adalah menambahkan semua nilai yang sesuai ke dalam string tunggal jika pengguna sama. Saya punya data seperti ini ->
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
Dalam pengkodean saya mengambil semua pengguna yang berbeda maka saya berhasil merangkai string warna. Untuk itu saya menggunakan kode -
while read the records
if [ "$c" == "" ]; then #$c I defined global
c="$colour1"
else
c="$c,$colour1"
fi
Ketika saya mencetak variabel $ c ini saya mendapatkan output (Untuk Pengguna AAA)
"red,black,blue,red,green,red,black,blue,red,green,"
Saya ingin menghapus warna duplikat. Maka output yang diinginkan harus seperti
"red,black,blue,green"
Untuk output yang diinginkan ini saya menggunakan kode di atas
echo "zebra ant spider spider ant zebra ant" | xargs -n1 | sort -u | xargs
tetapi menampilkan output dengan nilai duplikat .Seperti
"merah, hitam, biru, merah, hijau, merah, hitam, biru, merah, hijau," Terima kasih
echo 'aaa aaa aaa bbb bbb ccc bbb ccc' | xargs -n1 | sort -u | xargs
memberikan aaa bbb ccc
.. jadi Anda harus menunjukkan kode yang tepat Anda lelah dan output yang Anda dapatkan .. dengan string dalam variabel:s='aaa aaa aaa bbb bbb ccc bbb ccc'; echo "$s" | xargs -n1 | sort -u | xargs