No Solaris, no ambiente padrão, você obtém utilitários antiquados.
Para obter utilitários mais modernos, você precisa atualizar $PATH :
PATH='getconf PATH':$PATH export PATH
Isso vai te dar utilitários dos anos 90, em vez de a partir dos anos 80 (isso não é um exagero ...).
Então, seu grep se comportará mais como um padrão grep .
Como alternativa, você pode usar egrep em vez de grep -E .
Mas aqui, awk sendo um superconjunto de egrep , você não precisa de egrep .
< "$EBM_CONF" awk -F, '! /^#|^EBM_SERVER|^$/ {print $2"|"}' |
tr -d "\n" |
sed 's/|$//g'
Para unir linhas com | , é melhor usar paste . Seus dois últimos comandos podem ser substituídos por paste -s -d '|' - . Ou você pode fazer tudo em awk :
< "$EBM_CONF" awk -F, '! /^#|^EBM_SERVER|^$/ {printf "%s", sep $2; sep = "|"}'