删除存储在变量中的重复字符串
Remove duplicated string stored in variable
我有一个包含以下内容的变量 $var
:
var=word1,word2,word3,word1,word3
我需要删除重复的单词,结果需要存储在同一个变量中$var
。
尝试
var="word1,word2,word3,word1,word3"
list=$(echo $var | tr "," "\n")
var=($(printf "%s\n" "${list[@]}" | sort | uniq -c | sort -rnk1 | awk '{ print }'))
echo "${var[@]}"
如果开到 perl
那么:
$ var="word1,word2,word3,word1,word3"
$ var=$(perl -F, -lane'{$h{$_}++ or push @a, $_ for @F; print join ",", @a}' <<< "$var")
$ echo "$var"
word1,word2,word3
我有一个包含以下内容的变量 $var
:
var=word1,word2,word3,word1,word3
我需要删除重复的单词,结果需要存储在同一个变量中$var
。
尝试
var="word1,word2,word3,word1,word3"
list=$(echo $var | tr "," "\n")
var=($(printf "%s\n" "${list[@]}" | sort | uniq -c | sort -rnk1 | awk '{ print }'))
echo "${var[@]}"
如果开到 perl
那么:
$ var="word1,word2,word3,word1,word3"
$ var=$(perl -F, -lane'{$h{$_}++ or push @a, $_ for @F; print join ",", @a}' <<< "$var")
$ echo "$var"
word1,word2,word3