bash, как назначить вывод из awk в переменную [duplicate]

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

1
задан user4692363 20 March 2015 в 03:50
поделиться

2 ответа

Мне проще всего заполнить массив оболочки выходом команды awk:

$ arr=( $(awk 'BEGIN{ r=10; q=20; printf "%04.0f %05.0f\n",r,q }') )
$ echo "${arr[0]}"
0010
$ echo "${arr[1]}"
00020

, тогда вы можете делать все, что захотите, в оболочке с массивом, например. заполняйте другие переменные, если хотите.

3
ответ дан Ed Morton 19 August 2018 в 10:47
поделиться

Оператор bash read может использоваться для захвата вывода awk в переменные оболочки:

$ read rr qq <<<$(awk 'BEGIN{ r=10; q=20; rr = sprintf("%04.0f", r); qq = sprintf("%05.0f",q); print rr,qq}')
$ echo $rr $qq
0010 00020
2
ответ дан John1024 19 August 2018 в 10:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: