У меня есть файл csv с несколькими столбцами. У некоторых могут быть дубликаты по 4-му столбцу (col4).Unix Удалить Дублировать строки из csv на основе двух столбцов
Мне нужно удалить всю строку, где дубликаты встречаются, и сохранить только 1 строку. Решение этой строки производится путем получения наивысшего значения из col1.
Ниже приведен пример:
col1,col2,col3,col4
1,x,a,123
2,y,b,123
3,y,b,123
1,z ,c,999
Дубликат находится в строке 1 и row2 и row3, только третья строка должна быть, потому что col1 (row3)> col1 (row2)> col1 (row1) ,
Сейчас этот код удаления дубликатов в COL4, не глядя на col1
awk '!seen[$4]++' myfile.csv
Я хотел бы добавить условие, чтобы проверить col1 для каждого дубликатов и удалить те, с наименьшим значением в col1 и сохранить строку с Наибольшее значение п col1
Вывод должен быть:
col1, col2, col3, COL4
3,y,b,123
1,z,c,999
Спасибо!
Нет, это не ясно, не могли бы вы поместить больше информации и образец input_file анс ожидаемый выход в пост, так что все может помочь здесь. – RavinderSingh13
есть пример ввода и вывода, пожалуйста, внимательно прочитайте его. –