I have a variable that contains the following space separated entries.
variable=\"apple lemon papaya avocado lemon grapes papaya apple avocado mango banana\"
shell
declare -a arr
variable="apple lemon papaya avocado lemon grapes papaya apple avocado mango banana"
set -- $variable
count=0
for c in $@
do
flag=0
for((i=0;i<=${#arr[@]}-1;i++))
do
if [ "${arr[$i]}" == "$c" ] ;then
flag=1
break
fi
done
if [ "$flag" -eq 0 ] ; then
arr[$count]="$c"
count=$((count+1))
fi
done
for((i=0;i<=${#arr[@]}-1;i++))
do
echo "result: ${arr[$i]}"
done
Result when run:
linux# ./myscript.sh
result: apple
result: lemon
result: papaya
result: avocado
result: grapes
result: mango
result: banana
OR if you want to use gawk
awk 'BEGIN{RS=ORS=" "} (!($0 in a) ){a[$0];print}'