Сохранение результата кошки в виде разных значений индекса

Я проанализировал файл, используя cat и теперь я хочу сохранить его результат в массиве.

 var1=$(cat abc.txt | grep .........) 

и var1 выглядит

 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 

1. Я хочу, чтобы каждое значение сохранялось как переменные массива, но когда я делаю это, весь результат « cat хранится в индексе 0 из var1

Как сохранить каждое значение в качестве другого индекса?

  • Как объединить несколько файлов на основе метки времени
  • Есть ли способ сделать «полную файловую буферизацию» внутри цепочки команд?
  • Результаты кошки grep
  • Как я могу отобразить содержимое текстового файла в командной строке?
  • Как включить переменную в документ здесь?
  • Большая замена в XML
  • Будет ли `cat ~ / foo *> ~ / results / output.txt` сохранять порядок` ~ / foo * `?
  • Множество текстовых файлов в один большой текстовый файл
  • One Solution collect form web for “Сохранение результата кошки в виде разных значений индекса”

    В bash встроенный readarray может хранить значения в массивах:

     readarray arr < <(grep "pattern" abc.txt) 

    Это создаст массив с именем arr с значениями, указанными командой grep "pattern" abc.txt (если они входят в несколько строк, readarray добавляет их в массив):

     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 ... cat file | grep ... может быть сокращен до grep ... file , grep также может читать файлы.

    Linux и Unix - лучшая ОС в мире.