---------- Post updated at 04:35 PM ---------- Previous update was at 04:17 PM ----------
Ksh93-version using associative arrays, same idea as using awk.
#!/bin/ksh
#script
typeset -A values
oifs="$IFS"
while read line
do
IFS="|"
set -A flds $line
IFS="$oifs"
values["${flds[1]}"]=1
done
#
echo "${!values[@]}"
# or
a="${!values[@]}"
# comma separated
echo "${a// /,}"