Способы оплаты Abuse

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

26.10.2022, 16:12

Известно, что программами с графическим интерфейсом удобней пользоваться, поскольку они рассчитаны на высокие требования, плюс терминал позволяет определенные задачи решать значительно быстрей. Так есть утилита wc, она может подсчитывает количество строк в файле. Число строк мало о чем говорит, а вот в случае, когда совмещается несколько команд, можно считать строки, учитывая необходимые параметры. Как подсчитать строк в файле Linux? Осветим пару простых, но эффективных примеров применения команд grep, sed и awk.

Узнаем число строк в файле Linux

Нами уже была рассмотрена команда WC, теперь следует ознакомиться с одним из ее ключевых параметров - -l. Он подсчитывает переходы на новую строку, то есть происходит подсчет всей строки, включая и пустые. С задачей справится команда справляется быстрей всех остальных, однако возможен только определенных строк - с заданным условием. 

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

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

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

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

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

Как видим, результат одинаков, но команде wc потребовалось меньше времени на выполнение поставленной задачи. Остальные команды применимы для сложных запросов. Команда grep позволяет обнаружить строки только с текстом: grep -c 'текст' имя_файла.

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

Как читать строки

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

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

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

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

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

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

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

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

В примере выполним подсчет числа строк со значением второго параметра более 50.

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

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

Добавим 0 к выражению, чтобы убрать все нечисловые выражения.