У меня есть отчет для записей год-месяц, как показано ниже
201703 5
201708 10
201709 20
201710 40
201711 80
201712 100
201802 0
201803 25
201804 50
201805 50
201806 150
201807 300
201808 200
201902 10
Мне нужно суммировать записи года-месяца по годам и печатать после всех месяцев для этого конкретного года.Год-месяц может содержать пропущенные записи для любого месяца.Для этих месяцев необходимо вставить фиктивное значение (0).
Требуемый вывод:
201703 5
201704 0
201705 0
201706 0
201707 0
201708 10
201709 20
201710 40
201711 80
201712 100
2017 255
201801 0
201802 0
201803 25
201804 50
201805 50
201806 150
201807 300
201808 200
201809 0
201810 0
201811 0
201812 0
2018 775
201901 0
201902 10
201903 0
2019 10
Я могу получить сводку года, используя следующую команду.
awk ' { c=substr($1,0,4); if(c!=p) { print p,s ;s=0} s=s+$2 ; p=c ; print } ' ym.dat
Но как вставить записи для недостающих?Также последняя запись не должна превышать текущий (системное время) год-месяц.то есть для этого конкретного примера, фиктивные значения не должны быть вставлены для 201904..201905 .. и т. д. Он должен просто остановиться на 201903