Восстановите диски с помощью lvm, а затем синхронизируйте их с lvmsync. https://github.com/mpalmer/lvmsync
Вы неправильно понимаете синтаксис команды printf (который внимательно следит за функцией основной функции C: см., например, man 3 printf для полной документации).
printf принимает форматированная строка, состоящая из последовательности спецификаторов формата и других буквенных символов, за которой следует как можно больше аргументов, разделенных запятыми, для заполнения данного формата. В вашей команде
printf "%s,%d,%0.2f%\n",c[i]"\t"a[i]"\t"100*b[i]/x"%"
вы говорите ей, чтобы ожидать 3 значения (a %s, %d и %0.2f), но дают ему один, конкатенированный строковый аргумент [ f10]. Следовательно, у вас не будет аргументов во время назначения.
То, что вы предположительно предназначаете, это
printf "%s\t%d\t%0.2f%%\n", c[i], a[i], 100*b[i]/x
(вкладки идут внутри строки формата, %% соответствует буквалу %, т.е. предотвращает интерпретацию % как начало другого спецификатора формата).
Вы неправильно понимаете синтаксис команды printf (который внимательно следит за функцией основной функции C: см., например, man 3 printf для полной документации).
printf принимает форматированная строка, состоящая из последовательности спецификаторов формата и других буквенных символов, за которой следует как можно больше аргументов, разделенных запятыми, для заполнения данного формата. В вашей команде
printf "%s,%d,%0.2f%\n",c[i]"\t"a[i]"\t"100*b[i]/x"%"
вы говорите ей, чтобы ожидать 3 значения (a %s, %d и %0.2f), но дают ему один, конкатенированный строковый аргумент c[i]"\t"a[i]"\t"100*b[i]/x"%". Следовательно, у вас не будет аргументов во время назначения.
То, что вы предположительно предназначаете, это
printf "%s\t%d\t%0.2f%%\n", c[i], a[i], 100*b[i]/x
(вкладки идут внутри строки формата, %% соответствует буквалу %, т.е. предотвращает интерпретацию % как начало другого спецификатора формата).
Вы неправильно понимаете синтаксис команды printf (который внимательно следит за функцией основной функции C: см., например, man 3 printf для полной документации).
printf принимает форматированная строка, состоящая из последовательности спецификаторов формата и других буквенных символов, за которой следует как можно больше аргументов, разделенных запятыми, для заполнения данного формата. В вашей команде
printf "%s,%d,%0.2f%\n",c[i]"\t"a[i]"\t"100*b[i]/x"%"
вы говорите ей, чтобы ожидать 3 значения (a %s, %d и %0.2f), но дают ему один, конкатенированный строковый аргумент c[i]"\t"a[i]"\t"100*b[i]/x"%". Следовательно, у вас не будет аргументов во время назначения.
То, что вы предположительно предназначаете, это
printf "%s\t%d\t%0.2f%%\n", c[i], a[i], 100*b[i]/x
(вкладки идут внутри строки формата, %% соответствует буквалу %, т.е. предотвращает интерпретацию % как начало другого спецификатора формата).
Вы неправильно понимаете синтаксис команды printf (который внимательно следит за функцией основной функции C: см., например, man 3 printf для полной документации).
printf принимает форматированная строка, состоящая из последовательности спецификаторов формата и других буквенных символов, за которой следует как можно больше аргументов, разделенных запятыми, для заполнения данного формата. В вашей команде
printf "%s,%d,%0.2f%\n",c[i]"\t"a[i]"\t"100*b[i]/x"%"
вы говорите ей, чтобы ожидать 3 значения (a %s, %d и %0.2f), но дают ему один, конкатенированный строковый аргумент c[i]"\t"a[i]"\t"100*b[i]/x"%". Следовательно, у вас не будет аргументов во время назначения.
То, что вы предположительно предназначаете, это
printf "%s\t%d\t%0.2f%%\n", c[i], a[i], 100*b[i]/x
(вкладки идут внутри строки формата, %% соответствует буквалу %, т.е. предотвращает интерпретацию % как начало другого спецификатора формата).
Вы неправильно понимаете синтаксис команды printf (который внимательно следит за функцией основной функции C: см., например, man 3 printf для полной документации).
printf принимает форматированная строка, состоящая из последовательности спецификаторов формата и других буквенных символов, за которой следует как можно больше аргументов, разделенных запятыми, для заполнения данного формата. В вашей команде
printf "%s,%d,%0.2f%\n",c[i]"\t"a[i]"\t"100*b[i]/x"%"
вы говорите ей, чтобы ожидать 3 значения (a %s, %d и %0.2f), но дают ему один, конкатенированный строковый аргумент c[i]"\t"a[i]"\t"100*b[i]/x"%". Следовательно, у вас не будет аргументов во время назначения.
То, что вы предположительно предназначаете, это
printf "%s\t%d\t%0.2f%%\n", c[i], a[i], 100*b[i]/x
(вкладки идут внутри строки формата, %% соответствует буквалу %, т.е. предотвращает интерпретацию % как начало другого спецификатора формата).