나는 같은 문자열을 가지고있다.
"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