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

Команда wc в Linux

Анализ файлов — неотъемлемая часть работы с ними. Иногда возникает необходимость подсчитать количество строк или слов в тексте. С этой задачей эффективно справляется команда wc Linux.

Утилита устанавливается по умолчанию практически во всех дистрибутивах GNU/Linux. В этой статье рассмотрим её функции и применение на практике.

Синтаксис команды wc

Для запуска утилиты откройте терминал и введите:

Терминал будет ожидать ввода данных. После нажатия комбинации клавиш Ctrl + D командный интерпретатор завершит работу программы и выведет три числа, обозначающих количество строк, слов и байт введённой информации.

Утилита может обрабатывать файлы. Стандартная инструкция выглядит так:

Программа также может принимать параметры для анализа отдельных значений. Наиболее используемые из них приведены в таблице ниже:

Параметр Длинный вариант Значение
-c —bytes Отобразить размер объекта в байтах
-m —count Показать количесто символов в объекте
-l —lines Вывести количество строк в объекте
-w —words Отобразить количество слов в объекте

Под объектом следует понимать файл или данные, полученные на стандартный поток ввода.

Команда может обработать несколько файлов, если указать их через пробел или выбрать по шаблону.

Применение команды wc

Обработка стандартного потока ввода с завершением через Ctrl + D:

Команда wc

Согласно анализу, было введено 4 строки, содержащих 5 слов, объёмом в 35 байт.

Перенаправление потока вывода на вход wc:

Перенаправление на wc

Обработка всех файлов с расширением .sh в текущем каталоге:

Обработка bash-скриптов wc

В конце выводится итоговая информация, суммирующая значения для каждого столбца.

Выведем только количество символов и строк двух файлов:

Количество символов и строк wc

Обратите внимание: порядок указания параметров не влияет на итоговый вид информации. Программа всегда выводит данные в виде СТРОК — СЛОВ — БАЙТ (СИМВОЛОВ) [— ФАЙЛ]. Если какой-то параметр будет отсутствовать, его столбец просто проигнорируется, не задевая остальные. Количество символов будет стоять первым, если в команде содержался и вывод байт.

Вывод

Команда wc Linux является эффективным инструментом при анализе файлов в GNU/Linux. Она может обрабатывать как стандартный поток ввода, так и несколько файлов одновременно. Для извлечения конкретных данных используются параметры командной строки.

Читайте также:  Laptops with windows and linux

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Команда Wc в Linux (подсчет количества строк, слов и символов)

В Linux и Unix-подобных операционных системах команда wc позволяет подсчитать количество строк, слов, символов и байтов в каждом заданном файле или стандартном вводе и распечатать результат.

В этом руководстве мы покажем вам, как использовать команду wc на простых и практических примерах.

Как использовать команду wc

Синтаксис команды wc следующий:

Команда wc может принимать ноль или более входных имен FILE . Если FILE не указан или если FILE равен — , wc будет читать стандартный ввод. Слово — это строка символов, разделенных пробелом, табуляцией или новой строкой.

В простейшей форме при использовании без каких-либо опций команда wc выводит четыре столбца, количество строк, слов, количество байтов и имя файла для каждого файла, переданного в качестве аргумента. При использовании стандартного ввода четвертый столбец (имя файла) не отображается.

Например, следующая команда отобразит информацию о виртуальном файле /proc/cpuinfo :

Результат будет выглядеть примерно так:

448 3632 22226 /proc/cpuinfo 
  • 448 — это количество строк.
  • 3632 — количество слов.
  • 22226 — количество символов.

При использовании стандартного ввода имя файла не отображается:

Чтобы отобразить информацию о более чем одном файле, передайте имена файлов в качестве аргументов, разделенных пробелом:

wc /proc/cpuinfo /proc/meminfo

Команда предоставит вам информацию о каждом файле и строку, включая общую статистику:

448 3632 22226 /proc/cpuinfo 49 143 1363 /proc/meminfo 497 3775 23589 total 

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

  • -l , —lines — Вывести количество строк.
  • -w , —words — Вывести количество слов.
  • -m , —chars — Вывести количество символов.
  • -c , —bytes — Вывести количество байтов.
  • -L , —max-line-length — Вывести длину самой длинной строки.

При использовании нескольких параметров счетчики печатаются в следующем порядке: новая строка, слова, символы, байты, максимальная длина строки.

Например, чтобы отобразить только количество слов, которые вы бы использовали:

Вот еще один пример, который напечатает количество строк и длину самой длинной строки.

Параметр —files0-from=F позволяет wc читать ввод из файлов, указанных в файле F именами, завершающимися NUL. Если F — то читать имена со стандартного ввода. Например, вы можете искать файлы с помощью команды find и предоставлять эти файлы в качестве входных данных для wc :

find /etc -name 'host*' -printf0 | wc -l --files0-from=-

В выводе будет показано количество строк для всех файлов в каталоге /etc , имена которых начинаются с «host»:

4 /etc/host.conf 27 /etc/avahi/hosts 1 /etc/hostname 14 /etc/hosts 46 total 

Подсчитайте количество строк

Команда wc в основном используется с параметром -l для подсчета только количества строк в текстовом файле. Например, чтобы подсчитать количество строк в /etc/passwd вы должны ввести:

Читайте также:  Где хранятся логи mysql linux

В первом столбце указано количество строк, а во втором — имя файла:

Подсчитайте количество слов

Чтобы подсчитать только количество слов в текстовом файле, используйте wc -w за которым следует имя файла. В следующем примере подсчитывается количество слов в файле ~/Documents/file.txt :

Количество слов показано в первом столбце:

513 /home/linuxize/Documents/file.txt 

Примеры команд Wc

wc можно использовать в сочетании с другими командами через конвейер. Вот несколько примеров.

Подсчет файлов в текущем каталоге

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

Подсчитайте количество пользователей

В приведенном ниже примере wc используется для подсчета количества строк в выводе команды getent .

Выводы

Команда wc означает «подсчет слов» и имеет довольно простой синтаксис. Он позволяет подсчитывать количество строк, слов, байтов и символов в одном или нескольких текстовых файлах.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник

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

Довольно частенько нужно подсчитать количество файлов при выводе в консоли BASH. Хорошо если файлов 10 единиц. Как быть если их сотни и у каждого файла сложное имя. Тут идеально подойдёт команда wc. Её наилучше использовать вместе с фильтром. Например с командой grep команда wc хорошо сочетается. Возможно подсчитать количество слов в документе.

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

Подсчет строк, слов и знаков с помощью wc

Система отвечает строкой в следующем формате: l w c файл

где l — число строчек в файле;
w — число слов в файле;
c — число символов в файле.

Чтобы подсчитать количество строк, слов и символов в нескольких файлах, используйте следующий формат:

Система говорит следующим образом:

l w c файл1
l w c файл2
l w c total

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

Подсчет данных в документе

Читайте также:  Linux alpine zabbix agent

wc text.txt
вывод: 40 149 947 text.txt

В первоначальной колонке содержится количество строк, во второй кол-во слов, в третьей кол-во знаков

wc -l file.txt #вывести количество строк (ряд знаков, написанных или напечатанных в одну линию)
wc -c file.txt #вывести количество байт
wc -m file.txt #вывести число символов
wc -L file.txt #вывести длину самой длинной строки
wc -w file.txt #вывести число слов

Подсчёт данных в выводе командной строки Linux

Подсчет количества .txt-файлов в текущем каталоге с помощью wc:

При выводе в инструктивной строке очень часто попадают файлы с точками вместо имён .. или . .Тут необходимо отфильтровать вывод и только потом применять команду wc. Как подсчитать количество файлов в папки. Тут добавлена сортировка и удаление дублей. uniq — убирает дубли, перед unic обязана идти сортировка sort

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

ls | grep «name» | sort | uniq | wc -l

Подсчет уникальных строк и дубликатов в текстовом файле Linux

Буквально сегодня на работе столкнулся с довольно простой задачей, состоящей из двух подзадач: 1) нужно было подсчитать в текстовом файле количество уникальных строк 2) подсчитать в уже другом файле количество строчек, которые дублируются.

С этими задачами я справился и после этого подумал — по какой причине бы не написать небольшой пост, вдруг кому-нибудь пригодится. Подсчитаем в нём количество уникальных строчек с помощью следующей команды:

$ sort data.txt | uniq -u | wc -l

Всё достаточно просто. Утилита uniq с функцией -u выводит на экран уникальные строки (u—unique, видимо так) и с помощью | результат перенаправляется в утилиту wc , какая просто считает количество строк, т.к. исполняется с опцией -l. В самом начале нам необходимо просортировать входной поток данных (текстовый файл), иначе утилита uniq не сможет правильно подсчитать уникальные строки. Выполняется сортировка с помощью sort и результат, используя |, перенаправляется в uniq. После исполнения такой команды для файла data.txt на экран будет выведено число 5.

Для этого чтобы решить вторую подзадачу, сделаем всё тоже самое, только uniq станет выполнен с опцией -d (видимо d—duplicate):

$ sort data.txt | uniq -d | wc -l

В результате на экран выведено количество 2. Обе подзадачи решены достаточно простым способом. Записал небольшую демонстрацию кому забавно.

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

Нет ничего проще, чем подсчитать количество строчек в файле.

Подсчитать общее количество строк в файлах (именованная область данных на носителе информации) по шаблону. Если же вам необходимо подсчитать количество строк нескольких файлов, можете использовать шаблон, например:

Источник

Оцените статью
Adblock
detector