Следуя предложению @tripleee, я отправляю еще один вопрос о проблеме кодирования. Я пытаюсь более конкретно указать источники и ожидаемые результаты.
Мой исходный файл .txt
закончилсязаполненный строками и использующий AWK
, I:
- извлекает только строки, идентифицированные конкретным кодом.
- анализирует содержимое строки, чтобы получить только определенные значения.
- удалить ведущие нули из подстроки.
После этих первых шагов мой сохраненный вывод выглядит следующим образом (я могу изменить порядок столбцов по своему желанию).
1646 | 01 | 1602 | 4
1646 | 01 | 1604 | 19
1646 | 01 | 1605 | 35
1646 | 01 | 1606 | 7
1646 | 01 | 1607 | 37
1646 | 01 | 1609 | 9
1646 | 01 | 1610 | 3
1646 | 01 | 1611 | 2
1646 | 01 | 1612 | 90
1646 | 01 | 1613 | 107
1646 | 01 | 1614 | 12
1646 | 01 | 1615 | 12
1646 | 01 | 1616 | 4
1646 | 01 | 1617 | 1
1646 | 01 | 1618 | 39
3625 | 01 | 2311 | 14
3625 | 01 | 2312 | 9
3625 | 01 | 2313 | 11
3625 | 01 | 2314 | 3
3625 | 01 | 2315 | 1
3625 | 01 | 2316 | 1
3625 | 01 | 2317 | 28
3625 | 01 | 2318 | 9
3625 | 01 | 2320 | 12
3625 | 01 | 2321 | 5
3625 | 01 | 2322 | 29
3625 | 01 | 2324 | 3
1646 | 06 | 1600 | 12
1646 | 06 | 1603 | 19
1646 | 06 | 1608 | 11
3625 | 06 | 2319 | 6
3625 | 06 | 2323 | 16
3547 | AF | 1525 | 1
3547 | AF | 1526 | 1
Чего я хотел бы добиться, так это сгруппировать по второму столбцу, суммируя четвертый столбец, со строкой для каждого значения в первом столбце.
Другими словами, ожидаемый результат долженбыть:
DEP SUM
01
1646 381
3625 125
06
1646 42
3625 22
AF
3547 2
Или с лучшей презентацией:
DEP | PDV | | SUM
01 | | |
| 1646 | | 381
| 3625 | | 125
06 | | |
| 1646 | | 42
| 3625 | | 22
AF | | |
| 3547 | | 2
Пока я пробовал это:
awk '{sum[$2]+=$4}
END{for (date in sum) print date, sum[date], freq[date]}' Test_Awk_2.txt
Но результаты не те, которые я ожидал:
AF 2
01 506
06 64