Вывод номера строки, где слово повторялось наибольше раз

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Vladux
Сообщения: 2

Вывод номера строки, где слово повторялось наибольше раз

Сообщение Vladux »

Как можно в bash'е сделать скрипт, который выводит из файла номер строки , в которой содержится наибольшее количество одного слова(символа). Начальные параметры - называние файла и само слово. Не могу придумать, как это сделать, пробывал через grep и wc, но безтолку.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21279
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Вывод номера строки, где слово повторялось наибольше раз

Сообщение Bizdelnick »

Например grep -no "$PATTERN" "$FILE" | cut -d: -f1 | uniq -c | sort -nr выведет две колонки, в первой - число вхождений, во второй - номер строки.
Чтобы получить только один номер строки, надо добавить | head -n1 | colrm 1 8
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Vladux
Сообщения: 2

Re: Вывод номера строки, где слово повторялось наибольше раз

Сообщение Vladux »

Bizdelnick,
Могли вы бы обьяснить это действие, сам я чайник пока в этом, хорошо было бы разобратся, а за код большое спасибо, сам бы не додумался никогда :)
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21279
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Вывод номера строки, где слово повторялось наибольше раз

Сообщение Bizdelnick »

Объяснять дольше, чем просто посмотреть. Начиная с первой команды, добавляйте по одной в конвейер - станет ясно, какая что делает. Если что-то непонятно - загляните в соответствующий ман. Если и после этого непонятно - тогда спрашивайте.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали: