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

Команда Linux wc

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

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

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

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

 wc OPTION... [ FILE ] ...

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

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

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

 wc /proc/cpuinfo

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

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

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

 wc < /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 — Вывести длину самой длинной строки.

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

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

 wc -w /proc/cpuinfo
 3632 /proc/cpuinfo

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

 wc -lL /proc/cpuinfo
 448 792 /proc/cpuinfo

Параметр --files0-from=F позволяет wc читать входные данные из файлов, имена которых заканчиваются нулем в файле F Если 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 введите:

 wc -l /etc/passwd

Первый столбец — количество строк, второй — имя файла:

 44 /etc/passwd

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

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

 wc -w /etc/passwd

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

 513 /home/linuxize/Documents/file.txt

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

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

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

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

 find . -type f | wc -l

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

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

 getent passwd | wc -l

Заключение

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

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

туалетный терминал

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *