Я хотел бы напечатать регулярное выражение "показать сравнение памяти ..." и дату, которая следует за ним из тестового файла. Дата может начинаться с любого дня недели.
ВЫПУСК
- Не могу понять, как передать день недели в awk. Это должно быть в формате массива? Текущий метод (tr) не заменяется на OR (||), он только дает (|), поэтому замена регулярного выражения не работает.
ПОПЫТКА SO FAR
#!/bin/bash
day_of_week=$(locale day | tr ';' '\n' | cut -c 1-3 | tr '\n' '||')
awk -v day_of_week="$day_of_week" '
/show memory compare start/,/^day_of_week/
/show memory compare end/,/^day_of_week/
' testsnmpoutput.txt
TESTFILE (testsnmpoutput.txt)
xr_lab# show clock
Thu Sep 19 14:38:02.812 WIB
14:38:02.893 WIB Thu Sep 19 2019
xr_lab#
xr_lab#show memory compare start
Thu Sep 19 14:38:06.400 WIB
Successfully stored memory snapshot in /var/log/malloc_dump_memcmp_start.out
xr_lab#
xr_lab#
xr_lab#
xr_lab#show memory compare end
Thu Sep 19 14:40:56.123 WIB
xr_lab#show memory compare start
Thu Sep 19 14:46:28.464 WIB
Successfully stored memory snapshot in /var/log/malloc_dump_memcmp_start.out
xr_lab#
xr_lab#
xr_lab#
xr_lab#
xr_lab#show memory compare end
show memory compare report
show process memory
Thu Sep 19 14:50:10.422 WIB
Желаемый выход
xr_lab#show memory compare start
Thu Sep 19 14:38:06.400 WIB
xr_lab#show memory compare end
Thu Sep 19 14:40:56.123 WIB
xr_lab#show memory compare start
Thu Sep 19 14:46:28.464 WIB
xr_lab#show memory compare end
Thu Sep 19 14:50:10.422 WIB
Спасибо.