ryg

Команда wc в Mac OS X и FreeBSD

Синтаксис:

  wc [-clmw] [file ...]

Описание:

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

Параметры:

-c

Вывести в стандартный вывод количество байт имеющихся в каждом заданном файле. Данный параметр игнорируется в случае использования параметра -m

-l

 

Напечатать в стандартный вывод количество строк в каждом заданном файле.
-m

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

-w

Напечатать в стандартный вывод количество слов в каждом заданном файле.

Если в параметрах утилиты wc для Mac указано хотя бы один из параметров обработки данных, то в стандартный вывод будут напечатан результат подсчета только указанного параметра. Последовательность вывода результатов следующая: количество строк, слов, байт и имя файла. По умолчанию использование без параметров равно использованию параметров -c, -l и -w.
 
В случае использования для ввода данных окна терминала или другой стандартный ввод, то подсчет будет идти до получения символа EOF или [^D]. Имя файла в результатах не отображается.
 
Утилита использует переменные окружения LANG, LC_ALL и LC_CTYPE и их значения могут влиять на результат.

В случае успешного завершения команды wc возвращаемый статус завершения 0 и значение >0 в случае ошибки.

Примеры

Посчитать и сообщить количество символов, слов и строк в файлах httpd.conf и httpd-vhosts.conf поотдельности и суммарное количество

wc -mlw /etc/apache2/httpd.conf /private/etc/apache2/extra/httpd-vhosts.conf
 
Совместимость
 
Исторически, утилита wc описывалась как "максимальное количество строк символов разделенных символами <пробел>, <табуляция> или <новая строка>". Однако ее реализации не могли корректно подсчитывать непечатные символы, Так "^D^E" считались шестью пробелами, в то время как ``foo^D^Ebar'' считались 8 символами. После версии 4.3BSD утилита была модифицирована в соответствии с документацией и последующие реализации определяют "слова" с помощью функции iswspace, как этого требует стандарт IEEE Std 1003.2 (``POSIX.2'').
 
Связанные команды