Запись наивысшего NF

Используя awk для следующего входного файла, как я могу взять запись с наивысшим значением NF для того же последнего поля.

Файл:

 5541,55004,919843,IND 5542,5541,55004,919843,IND 7903,790287,RUSE 7905,7903,790287,RUSE 

Требуемый результат:

 5542,5541,55004,919843,IND 7905,7903,790287,RUSE 

  • Как сделать скрипт sudo без пароля для любого пользователя в bash
  • Зацикливание файлов с пробелами в именах?
  • Подводя массив внутри awk?
  • Как я могу использовать sed, чтобы отрезать строку от строки?
  • Удалите обе строки, если значения столбца A повторяются в следующей строке
  • sed: -e выражение # 1, char 4: неизвестная команда:
  • Получить строку запроса из URL-адресов в файле журнала
  • Запустите несколько экранов и прикрепите их для разделения изображения
  • One Solution collect form web for “Запись наивысшего NF”

    Вы можете использовать два массива: один, чтобы сохранить количество полей, и один, чтобы сохранить всю запись, и цикл над вторым массивом в END :

     awk -F, 'NF>a[$NF] {a[$NF]=NF; b[$NF]=$0} END{for (i in b) print b[i]}' file.txt 

    Пример:

     % cat file.txt 5541,55004,919843,IND 5542,5541,55004,919843,IND 7903,790287,RUSE 7905,7903,790287,RUSE % awk -F, 'NF>a[$NF] {a[$NF]=NF; b[$NF]=$0} END{for (i in b) print b[i]}' file.txt 5542,5541,55004,919843,IND 7905,7903,790287,RUSE 
    Linux и Unix - лучшая ОС в мире.