No bash, o readarray
builtin pode armazenar os valores nas matrizes:
readarray arr < <(grep "pattern" abc.txt)
Isso criará uma matriz chamada arr
com os valores fornecidos pelo comando grep "pattern" abc.txt
(se eles vierem em várias linhas, readarray
os anexará à matriz):
echo ${arr[0]}
33
$ echo ${arr[10]}
12
$ echo ${arr[*]}
33 23 51 11 16 43 5 50 4 2 12 29 32 28 47 41 7 20 38 45 49 26 22 10 44 9 19 27 46
BTW: cat file | grep ...
pode ser reduzido para grep ... file
, grep também pode ler arquivos.