Как получить те строки, которые имеют большую длину среди всех строк в файле, используя команду awk [дубликат]

Вы также можете использовать coreutils:

<foo.txt cut -d';' -f1 | paste -sd';'
1
28.04.2018, 18:36
2 ответа
awk '{ if (length($0)>maxlength) { maxlength=length($0); longest_line=$0; } };
     END { print longest_line; }' inputfile
0
28.01.2020, 00:36

Проверить длину строки (, если в функцию lengthне переданы аргументы, она использует $0, всю строку ).

Если длина больше, чем переменная x, установите xна длину. И установить переменную aв содержимое строки.

Наконец, по достижении конца файла вывести содержимое переменной a.

awk 'length>x{x=length;a=$0}END{print a}' inputfile

Попробуйте онлайн!

0
28.01.2020, 00:36

Теги

Похожие вопросы