Я видел разные версии этого вопроса в Stack Overflow, но не встречал ни одной, которая касается этого конкретного варианта использования.
Цель
Поиск повторяющихся строк на основе всей строки (а не только одного столбца), кроме значения в последнем столбце. Удалите все повторяющиеся строки, кроме одной, но сначала просуммируйте значения в последнем столбце каждого дубликата и покажите полученное значение в последнем столбце оставшейся повторяющейся строки. Я хотел бы сделать это в Bash.
Вариант использования
У меня есть таблица каждой страницы веб-сайта и количество полученных просмотров, а также некоторые другие метаданные. Однако некоторые строки в таблице представляют одну и ту же страницу, только с разным количеством просмотров. Эти просмотры необходимо суммировать, чтобы показать просмотры за все время для каждой страницы.
Пример
Исходный файл:
url,title,tag,version,guide,views
"https://website.com/1-1/section/product/page-title","Page Title 1",tag-1,"1-1","guide-1",100
"https://website.com/2-2/section/product/page-title","Page Title 2",tag-2,"2-2","guide-2",5
"https://website.com/1-1/section/product/page-title","Page Title 1",tag-1,"1-1","guide-1",15
"https://website.com/3-3/section/product/page-title","Page Title 3",tag-3,"3-3","guide-3",10
"https://website.com/3-3/section/product/page-title","Page Title 3",tag-3,"3-3","guide-3",20
"https://website.com/4-4/section/product/page-title","Page Title 4",tag-4,"4-4","guide-4",7
"https://website.com/3-3/section/product/page-title","Page Title 3",tag-3,"3-3","guide-3",30
Желаемый файл:
url,title,tag,version,guide,views
"https://website.com/1-1/section/product/page-title","Page Title 1",tag-1,"1-1","guide-1",115
"https://website.com/2-2/section/product/page-title","Page Title 2",tag-2,"2-2","guide-2",5
"https://website.com/3-3/section/product/page-title","Page Title 3",tag-3,"3-3","guide-3",60
"https://website.com/4-4/section/product/page-title","Page Title 4",tag-4,"4-4","guide-4",7
Что я хотел бы сделать здесь, так это поделиться каждой итерацией сценария, которую я пробовал, и разобрать, что сработало, а что нет. Это настолько выше моей головы, что я изо всех сил пытаюсь сделать даже это. Мой процесс заключался в том, чтобы использовать части ответов на аналогичные вопросы о переполнении стека (все они были в awk
, что имеет смысл для меня) и изменить сравниваемый столбец. Но поскольку некоторые ответы сравнивают только один столбец, результаты моих изменений противоречивы и странны. Сценарии достаточно сложны, и я изо всех сил пытаюсь понять, почему.
- Суммировать повторяющиеся значения строк с помощью awk
- Как суммировать значения повторяющихся строк с помощью awk?
Кто-нибудь может дать образование о том, как я могу найти ответ, или пример, который указывает мне правильное направление? Спасибо, если так.