Главная >> Инструкции >> Количество строк в файле Linux

Количество строк в файле Linux

Несмотря на то, что утилиты с графическим интерфейсом гораздо удобнее в использовании и адаптированы под высокие разрешения, в терминале можно делать многие вещи гораздо быстрее. Например, утилита wc просто подсчитывает количество строк в файле.

Но само количество строк мало о чём говорит, поэтому совмещение нескольких команд позволяет считать строки с учётом требуемых параметров. Мы рассмотрим несколько примеров как подсчитать количество строк в файле linux с использованием таких команд, как grep, sed и awk.

Как узнать количество строк в файле Linux

Команду wc мы уже рассматривали, нас интересует только параметр -l. В общем случае он считает количество переходов на новую строку, поэтому учитываются все строки, в том числе пустые. С этой задачей она справится быстрее остальных команд, таких как grep, sed, awk. Но эти команды способны подсчитать строки с заданным условием.

wc -l имя_файла

grep -c $ имя_файла

sed -n \$= имя_файла

awk 'END{ print NR }' имя_файла

AqGoFBlBCTKtAAAAAElFTkSuQmCC

Как видите, результат один и тот же, только вот команда wc потратила на порядок меньше времени. Поэтому остальные команды стоит использовать для более сложных запросов. Рассмотрим несколько примеров.

Команда grep поможет найти строки только с нужным текстом:

grep -c 'текст' имя_файла

8A62d1kmc3P0EAAAAASUVORK5CYII=

Команда grep умеет работать с регулярными выражениями и объединять условия с помощью операторов И, ИЛИ, НЕ.

Команда sed умеет обрабатывать текст, но проще всего посчитать количество результирующих строк командой wc. Например, можно удалить все строки длиной менее 3 символов, а в более сложных случаях подсчитать количество строк без комментариев.

sed -r '/^.{,3}$/d' имя_файла | wc -l

fg5OD0lcpdXij1N4GvO96cP2YrOSLd1jgaz5Z6f409cwWD7KbC9SBFQKE8q3qwOxA8B90h2zd9n43yyUlxuRACpVAAAAAElFTkSuQmCC

Столь простой пример можно было выполнить и другими командами. Синтаксис команды awk в этом случае гораздо понятнее.

awk 'length >3' имя_файла | wc -l

LAVrPAAAAAElFTkSuQmCC

Другим примером использования команды awk может стать подсчёт строк с поиском нужного значения в табличном файле csv. В этом примере мы подсчитали количество строк, у которых значение второго параметра больше 50.

awk '$2+0 > 50' имя_файла | wc -l

TfjosanWKa3QwAAAABJRU5ErkJggg==

Мы добавили 0 к выражению неспроста, он позволяет отсеять нечисловые выражения.

Выводы

Теперь вы знаете как посчитать количество строк в файле linux. К плюсам подсчёта количества строк с помощью консольных команд можно отнести универсальность и скорость работы. Мы рассмотрели далеко не все команды, способные подсчитать количество строк, есть tr, nl, не говоря уже о языках программирования, вроде PERL. Но имеются и существенные минусы, например, сложный синтаксис регулярных выражений, внести изменения в команду порой сложнее, чем написать её заново.

Если правильно подойти к подсчёту строк, то он может стать основой для сбора статистики и оценки файлов. Как вы могли убедиться, одну и ту же задачу можно выполнить нескольким способами, поэтому выбирайте наиболее подходящую команду.

Creative Commons License
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

4 комментария к “Количество строк в файле Linux”

Оставьте комментарий