Para criar um array a partir da string, use:
IFS='|' read -r -a line_parsed <<< "$aline"
-
IFS='|'
define bashs promotor de campo interno para|
-
read
lê seu descritor de arquivo de entrada padrão-
-r
A barra invertida não funciona como um caractere de escape. -
-a line_parsed
cria uma matriz chamadaline_parsed
-
-
<<< "$aline"
é uma sequência , que transmite o conteúdo do padrão$aline
pararead
s 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