Bash Odd Occurrences In Array
odd_occurrences_in_array() {
local -n _a="$1"
local -A _count
local _v
for _v in "${_a[@]}"; do
if [[ -z "${_count[$_v]:-}" ]]; then
_count[$_v]=1
else
unset '_count[$_v]'
fi
done
for _v in "${!_count[@]}"; do
echo "$_v"
return
done
}
This uses XOR to cancel out pairs, leaving only the value that appears an odd number of times.