Я делаю код Баша, чтобы получить общее количество транзакций на сервере, включая также успешные и неудачи, до сих пор это мой выходкак получить среднее соотношение от выходного файла
TOTAL SUCCESS FAILED AVERAGE SUCCESS AVERAGE FAILED
=====================================================================
6139386 2079679 4059707 33.874381 66.125619
который только он также создает файл для каждого отдельного события, я имею в виду файл для успешной транзакции, один для неудачных транзакций и один для всех транзакций
Теперь, из файла с отказами, мне нужно подробно узнать, какие ошибки сделали транзакцию неудачной и их частоту.
Я сделал этот код
cat /tmp/test1.txt | grep "|-1|" | cut -d'|' -f34 > /tmp/test3_1.txt
ERR=$(sort test3_1.txt | uniq -c)
Где test1.txt это файл, в котором неудачные операции хранятся и test3_1.txt является файл, в котором хранятся ошибки
Как вы можете видеть, я сохранил этот выход в переменной, которая будет использоваться позже, и это результат
82 -11
7241 -4
10040 1
7 10
3115778 1000
146 10002035
Когда число в левой частота и число в праве код ошибки
Пока это только то, что я хотел, но мне нужно сделать также среднее соотношение для каждого кода ошибки основанный на его частоте и общей неудачных сделок, в основном за столом, как этот
82 -11 0.002%
7241 -4 0.178%
10040 1 0.247%
7 10 0.000%
3115778 1000 76.749%
146 10002035 0.004%
Исходя из общего количества неудачных сделок (4059707)
Теперь, что я не знаю, чтобы сделать это, чтобы выбрать только левый столбец, чтобы сделать правильный кал чтобы получить среднее отношение каждой из ошибок и показать его в правой колонке.
я получил до сих пор этот код:
for i in $(awk '{print $1}' test3_1.txt) do;
AVEE=$($i * 100 | bc)
Но это не сработало
какой вход у вас есть и какой вывод вы хотите? сумма 1-го столбца вывода вашего cmd '! = 4059707'. Это нормально? Или я не понимаю это правильно. – Kent
putput у меня есть первая таблица (2 столбца), и тот, который я хочу, является вторым (3 столбца). '4059707' является суммой неудачных транзакций –
, пожалуйста, объясните, из вашей ** первой таблицы **, как я могу получить номер' 4059707'? – Kent