Я пытаюсь обобщить таблицу данных, которая меняется каждый день. Я уже суммировал таблицу, чтобы отображать только строки с записями, которые больше 30.
Однако в некоторые дни в исходной таблице нет записей больше 30. Когда это происходит, мне не нужен весь раздел, который пуст в сводке. Как мне тогда удалить весь заголовок для этих разделов?
В идеале, если нет записей во всех 5 разделах, не должно быть напечатано ни одной строки (или просто строка, которая говорит: «Нет: нет записи больше 30», как я пытался сделать)
Пример обобщенной таблицы с 5 разделами, summarised_output.txt:
=========================================================================================================
Month: Jun
Counter Name 06/04 18:00 06/04 17:00 06/04 16:00 06/04 15:00
=========================================================================================================
SYS.SYS.SYS.SYS.SYS.SYS. : 45 45 45 45
SYS.SYS.SYS.SYS.SYS.SYS. : 45 45 45 45
=========================================================================================================
Month: Jun
Counter Name 06/05 14:00 06/05 13:00 06/05 12:00 06/05 11:00
=========================================================================================================
SYS.SYS.SYS.SYS.SYS.SYS. : 45 45 45 45
SYS.SYS.SYS.SYS.SYS.SYS. : 45 45 45 45
=========================================================================================================
Month: Jun
Counter Name 06/05 10:00 06/05 09:00 06/05 08:00 06/05 07:00
=========================================================================================================
=========================================================================================================
Month: Jun
Counter Name 06/05 06:00 06/05 05:00 06/05 04:00 06/05 03:00
=========================================================================================================
SYS.SYS.SYS.SYS.SYS.SYS. : 45 45 45 45
SYS.SYS.SYS.SYS.SYS.SYS. : 45 45 45 45
=========================================================================================================
Month: Jun
Counter Name 06/04 18:00 06/04 17:00 06/04 16:00 06/04 15:00
=========================================================================================================
SYS.SYS.SYS.SYS.SYS.SYS. : 45 45 45 45
SYS.SYS.SYS.SYS.SYS.SYS. : 45 45 45 45
=========================================================================================================
Как видите, третий раздел пуст, потому что в файле original_output.txt нет записи выше 30. Но заголовок все еще там.
Мой сводный код (работал):
awk '$1=="Month:"||$1==""||$1=="Counter"||(index($1, "=")!=0)||$3>=30|| $4>=30 || $5>=30||$6>=30' original_output.txt>>summarised_output.txt
Моя попытка удалить заголовок (не работает):
touch summarised_output_temp.txt
awk '{if ($1=="Month:"||$1==""||$1=="Counter"||(index($1, "=")!=0)||$3>=30|| $4>=30 || $5>=30||$6>=30) print $0}' original_output.txt >> summarised_output_temp.txt
if (((wc -l < summarised_output_temp.txt)==42))
then
echo "None: there is no entry larger than 30" >> summarised_output.txt
else
cat output_7_temp.txt>>summarised_output.txt
fi
Ошибка, полученная за попытку:
line 3: ((: (wc -l output_7_temp.txt | awk {print $1})==42: syntax error: invalid arithmetic operator (error token is ".txt | awk {print $1})==42")