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

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 
  • Как исключить список полных путей каталога в команде find в Solaris
  • chown все файлы на основе шаблона имени файла в текущем каталоге
  • Ранжирование MAC-адреса при запуске в Linux Mint
  • Горячая клавиша LXDE для запуска приложения или переключения на него, если он уже запущен
  • Команда SSH ведет себя по-разному в Expect Script
  • Как выполнить замену текста в иерархии больших папок?
  • Зацикливание файлов с пробелами в именах?
  • Скрипт застрял, говоря 1 ответ с 2 доступными: Math related
  • Как увеличить колонку с помощью AWK
  • Конвертер Javascript в HTML?
  • ImageMagick + ruTorrent-статистика (Github repo)
  • Открытие терминала, отличного от xterm, запуск команды на нем и не закрытие терминала после его успешного завершения
  • Linux и Unix - лучшая ОС в мире.