среднее и стандартное отклонение для нескольких файлов

Похоже, вам действительно не нужно хранить ключ на бастионе, а просто нужно подключиться к чему-то на другой стороне.Если это правда, и при условии, что он не заблокирован SSH-сервером, к которому вы подключаетесь, вы сможете использовать OpenSSH ProxyCommand. В следующем примере бастион - это внешний хост, который вы используете для подключения к удаленной сети.

ssh -o ProxyCommand "ssh bastion.example.com -W %h:%p" internal.example.com

Так как это не совсем простой ввод, я бы рекомендовал поместить его в ваш $ {HOME} /. Ssh / config следующим образом:

Host internal.example.com
     User username
     Hostname internal.example.com
     ProxyCommand ssh bastion.example.com -W %h:%p

При необходимости имена хостов могут быть заменены IP-адресами.

1
21.11.2018, 23:19
1 ответ

Комплексное решение с использованием командыpasteи инструментаdatamash:

  1. Объединение всех файлов в один файл для дальнейшей обработки:

    paste [0-9]*.out | datamash transpose > data
    

    --datamash transpose-транспонирует строки в столбцы

  2. Получение общего количества полей:

    nf=`awk '{print NF; exit}' data`
    
  3. Расчет среднего и стандартного отклонения:

    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
.......
2
27.01.2020, 23:24

Теги

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