That seems to work if you add " |" in awk print $
#!/bin/bash
#
# ~/test.sh
#
#
trimstring_sed(){
s="${1}"
s="$(printf "${s}" | sed -z 's/^[[:space:]]*//')"
s="$(printf "${s}" | sed -z 's/[[:space:]]*$//')"
echo "${s}"
return 0
}
OIFS="$IFS"
IFS='|'
echo
echo "foo | 1024 | bar (8.3) | /home/test" | awk -F '|' '{print $1" |", $2" |", $3" |", $4" |"}'
echo
read VAR1 VAR2 <<< $(echo "foo | 1024 | bar (8.3) | /home/test" | awk -F '|' '{print $1" |", $3" |"}')
echo "VAR1 : >>>$VAR1<<<"
echo "VAR2 : >>>$VAR2<<<"
VAR1=$(trimstring_sed "${VAR1}")
VAR2=$(trimstring_sed "${VAR2}")
echo "VAR1 : >>>$VAR1<<<"
echo "VAR2 : >>>$VAR2<<<"
IFS="$OIFS"
echo
echo "FINISHED"
Thank you very much @arvidjaar and @hendersj