Запись наивысшего 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 

  • Регулярное совпадение в ksh
  • Выполнять команды Perl с определенного IP-адреса?
  • Сценарий для изменения текущего каталога (cd, pwd)
  • «Перезапустить» процесс в том же терминале?
  • Выполнить удаленный сценарий с локальным значением параметра
  • Как инициализировать массив с помощью awk и bash?
  • Использование grep / awk / sed для сортировки и объединения двух файлов
  • слияние файлов и получение значений столбцов на основе поля id
  • 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 - лучшая ОС в мире.