Я видел разные версии этого вопроса в 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
, что имеет смысл для меня) и изменить сравниваемый столбец. Но поскольку в некоторых ответах сравнивается только один столбец, результаты моих изменений непоследовательны и странны. Скрипты достаточно сложны, и я изо всех сил пытаюсь понять, почему.
Может ли кто-нибудь дать образование о том, как go найти ответ, или пример, который указывает мне правильное направление? Спасибо, если да.