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

Як підрахувати кількість рядків у файлі Linux

26.10.2022, 16:12

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

Дізнаємося число рядків у файлі Linux

Нами вже було розглянуто команду WC, тепер слід ознайомитися з одним із її ключових параметрів - -l. Він підраховує переходи на новий рядок, тобто відбувається підрахунок усього рядка, включно з порожніми. Із завданням впорається команда впорається швидше за всіх інших, проте можливий тільки певних рядків - із заданою умовою.

$ wc -l name_file

$ grep -c $ name_file

$ sed -n $= name_file

$ awk 'END{ print NR }' name_file

Як підрахувати кількість рядків у файлі Linux

Як бачимо, результат однаковий, але команді wc знадобилося менше часу на виконання поставленого завдання. Інші команди застосовні для складних запитів. Команда grep дає змогу виявити рядки тільки з текстом: grep -c 'text' file_name.

$ grep -c 'text' file_name

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

Команда grep поводиться з регулярними виразами, тому можна об'єднати кілька умов за типом І, АБО, НЕ.

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

$ sed -r '/^.{,3}$/d' file_name | wc -l

Як підрахувати кількість рядків у файлі Linux

Якщо завдання просте, то його можна виконати й іншими способами. Команда awk буде простішою і зрозумілішою.

$ awk 'length >3' file_name | wc -l

Як підрахувати кількість рядків у файлі Linux

Для наочного прикладу роботи команди awk виконаємо підрахунок рядків, одночасно з цим здійснюючи пошук необхідного значення в табличному файлі csv.

У прикладі виконаємо підрахунок числа рядків зі значенням другого параметра понад 50.

$ awk '$2+0 > 50' file_name | wc -l

Як підрахувати кількість рядків у файлі Linux

Додамо 0 до виразу, щоб прибрати всі нечислові вирази.