Para criar um array a partir da string, use:
IFS='|' read -r -a line_parsed <<< "$aline"
-
IFS='|'define bashs promotor de campo interno para| -
readlê seu descritor de arquivo de entrada padrão-
-rA barra invertida não funciona como um caractere de escape. -
-a line_parsedcria uma matriz chamadaline_parsed
-
-
<<< "$aline"é uma sequência , que transmite o conteúdo do padrão$alineparareads entrada.
Agora você terá uma matriz. echo "${line_parsed[0]}" dará o primeiro elemento da string dividida.
Tudo isso em uma função:
parseLine ()
{
IFS='|' read -r -a line_parsed <<< "$1"
echo "${line_parsed[0]}"
}
Isso agora pode ser chamado assim:
$ parseLine "dsfsdf | fsdfff | yuhfd "
dsfsdf