Комплексное решение с использованием командыpasteи инструментаdatamash:
Объединение всех файлов в один файл для дальнейшей обработки:
paste [0-9]*.out | datamash transpose > data
--datamash transpose
-транспонирует строки в столбцы
Получение общего количества полей:
nf=`awk '{print NF; exit}' data`
Расчет среднего и стандартного отклонения:
for ((i=1; i<$nf; i++)); do datamash mean $i pstdev $i < data; done
Вывод будет выглядеть так: (1-й столбец -среднее значение, 2-й столбец -ст. значение отклонения):
0.596477 0.11180339887499
0.589331 0.11180339887499
0.594394 0.11180339887499
0.575003 0.11180339887499
0.578981 0.11180339887499
0.569547 0.11180339887499
0.582834 0.11180339887499
.......
:%s/. /\n/g
близок, но имеет три ошибки:
.
соответствует любому символу. Чтобы соответствовать реальной точке, избегайте ее:\.
\n
— нулевой символ. Используйте \r
для новой строки Вместе это:
:%s/\. /.\r/g