Запишите скрипт оболочки для анализа лог-файла

После настройки обновления и перед тем, как приступить к нему, система подтвердит вам количество необходимого места. Jessie заменит старые Wheezy файлы, поэтому окончательное количество байт может быть низким, однако, нет простого способа сообщить вам, сколько места вам потребуется: это сильно зависит от системы. С новыми заголовками ядра, большинство приложений и утилит потребуют переустановки, с некоторым дополнительным пространством, по крайней мере, временным!

При обновлении я закончил использовать ~180 Мб дополнительного пространства, однако, я не уверен, сколько места потребовалось во время обновления для загрузки, расширения, установки и (возможно) удаления необходимых пакетов.

Имея в наличии всего 240 Мб, я не буду советовать обновление.

1
05.01.2019, 19:57
2 ответа

На самом деле вы задаете 3 вопроса. -Я начну с первого, а два других вы должны попытаться решить сами, используя ту же базовую структуру (есть много примеров на этот сайт для использования Awk для числовой обработки, такой как усреднение):

Используйте Awk в режиме абзаца (, сняв разделитель записей, RS), разделив запись на поля с помощью =и\n(новой строки):

$ awk -vRS= -F'[=\n]' '/STATUS=FAIL/{print $4}' file.log
189.23.34.23
189.23.34.23
1
27.01.2020, 23:31

В неотшлифованной версии скрипт Bash -мог бы выглядеть так, предполагая, что ваши данные содержатся вdatafile:

#!/bin/bash

printf "IPs where status is fail:\n"
grep -z -oP 'IP=\K.*\n(?=STATUS=FAIL)' datafile

printf "Avg time taken by all requests where status is 'success':\n"
grep -z -oP 'STATUS=SUCCESS\nTIME=\K\d+' datafile | \
  awk '{ total += $1; count++ } END { print ( count == 0 ? "NaN" : total/count); }'

printf "Number of logins (successful and failed) via Mobile:\n"
grep -c 'Source=Mobile' datafile

Краткое разъяснение:

  • Q2 )Расчет среднего времени :команда grepизвлекает значения времени (, которые, как предполагается, все в секундах ). Эти значения передаются в команду awk, которая вычисляет их среднее значение, а затем печатает это среднее значение.
1
27.01.2020, 23:31

Теги

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