
В операционных системах 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» (количество слов) и имеет довольно простой синтаксис. Она позволяет подсчитать количество строк, слов, байтов и символов в одном или нескольких текстовых файлах.
Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.
Связанные руководства