私は次のような文字列を持っています
"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