Команда wc в Linux
Анализ файлов — неотъемлемая часть работы с ними. Иногда возникает необходимость подсчитать количество строк или слов в тексте. С этой задачей эффективно справляется команда wc Linux.
Утилита устанавливается по умолчанию практически во всех дистрибутивах GNU/Linux. В этой статье рассмотрим её функции и применение на практике.
Синтаксис команды wc
Для запуска утилиты откройте терминал и введите:
Терминал будет ожидать ввода данных. После нажатия комбинации клавиш Ctrl + D командный интерпретатор завершит работу программы и выведет три числа, обозначающих количество строк, слов и байт введённой информации.
Утилита может обрабатывать файлы. Стандартная инструкция выглядит так:
- wc — имя утилиты;
- file — название обрабатываемого файла.
Программа также может принимать параметры для анализа отдельных значений. Наиболее используемые из них приведены в таблице ниже:
| Параметр | Длинный вариант | Значение |
| -c | —bytes | Отобразить размер объекта в байтах |
| -m | —count | Показать количесто символов в объекте |
| -l | —lines | Вывести количество строк в объекте |
| -w | —words | Отобразить количество слов в объекте |
Что Означает WC в Английском Языке.
Под объектом следует понимать файл или данные, полученные на стандартный поток ввода.
Команда может обработать несколько файлов, если указать их через пробел или выбрать по шаблону.
Применение команды wc
Обработка стандартного потока ввода с завершением через Ctrl + D:

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

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

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

Обратите внимание: порядок указания параметров не влияет на итоговый вид информации. Программа всегда выводит данные в виде СТРОК — СЛОВ — БАЙТ (СИМВОЛОВ) [— ФАЙЛ]. Если какой-то параметр будет отсутствовать, его столбец просто проигнорируется, не задевая остальные. Количество символов будет стоять первым, если в команде содержался и вывод байт.
Вывод
Команда wc Linux является эффективным инструментом при анализе файлов в GNU/Linux. Она может обрабатывать как стандартный поток ввода, так и несколько файлов одновременно. Для извлечения конкретных данных используются параметры командной строки.
ТОП-10 КИТАЙСКИХ ПРИЛОЖЕНИЙ | We Chat и другие | КАК ПОЛЬЗОВАТЬСЯ
Источник: losst.pro
Программа wc что это такое
Команда wc подсчитает количество строк, слов, байт, или символов в текстовом файле.
- 1 Команда wc без опций и аргумента
- 2 Работа с файлами
- 3 Опции команды wc
- 3.1 Опция -l
- 3.2 Опция -L
- 3.3 Опция -m
- 3.4 Опция -c
Команда wc без опций и аргумента
Будучи запущена без опций и аргумента, команда wc подсчитывает число строк, слов и байт в стандартном вводе (например, с клавиатуры):
wc (Enter) когда (Enter) мы были (Enter) молоды (Enter + Ctrl-d) 3 4 38
На выходе команды мы видим три числа: количество строк (3), количество слов (4) и количество байт (38).
Говорят, что раньше (до повсеместного распространения Юникода, где символ может быть представлен двумя байтами), команда wc по умолчанию сообщала число строк, слов и символов соответственно. Некоторые руководства сохраняют эту ошибку по сей день. Имея дело с английским текстом, нетрудно ошибиться, так как английские буквы представлены даже в Юникоде одним байтом, и их количество совпадет с количеством байт, что не гарантировано для прочих символов в тексте.
Тут необходимо прояснить, что «словом» команда wc считает непрерывную последовательность символов, отделенную от других символов одним или более пробелом, знаком табуляции, и/или символом новой строки (невидимый символ, возникающий при нажатии клавиши Enter). При подсчете количества символов учитываются все вышеперечисленные категории.
Строкой считается последовательность «слов», заканчивающаяся символом новой строки.
Работа с файлами
Команда wc принимает файл в качестве аргумента:
wc onegin.txt 14 61 668 onegin.txt
Это 14 строк первой строфы «Евгения Онегина».
Команда wc принимает в качестве аргумента любое количество файлов. Эти файлы указываются через пробел, при необходимости со всеми своими путями (path):
wc /etc/fstab /boot/grub/menu.lst /home/ya/Desktop/wc-ru.txt
11 66 918 /etc/fstab 34 102 776 /boot/grub/menu.lst 69 185 2445 /home/ya/Desktop/wc-ru.txt 114 353 4139 итого
Команда укажет параметры каждого из файлов, а в конце суммирует итог.
Можно также задать подсчет параметров всех файлов в директории:
~/Desktop$ wc * wc: Documents: Is a directory 0 0 0 Documents 9 14 207 MyComputer.desktop 3 4 38 mol.txt 14 61 668 onegin.txt 114 156 1715 shema.txt 150 318 5066 trash.desktop wc: wc: Is a directory 0 0 0 wc 69 185 2445 wc-ru.txt 15 18 258 Дисковод 1 0 2 Текстовый файл 375 756 10399 итого
но это имеет смысл делать только с директориями, содержащими лишь текстовые файлы. Если в директории будут находиться бинарные или .html файлы, то появится множество сообщений типа «Invalid or incomplete multibyte or wide character», что можно перевести как «Поврежденные, либо неполные, либо расширенные символы». А вот самостоятельно выбирать только текстовые файлы команда wc не умеет.
Опции команды wc
У команды немного опций, и все они вполне понятны без долгих объяснений.
Опция -l
Подсчитывает только количество строк:
wc -l onegin.txt 14 onegin.txt
Полезным представляется использование этой опции в составе программного канала с командой ls для подсчета количества файлов в директориях:
~/Desktop$ ls | wc -l 10
Это подсчет файлов в текущей директории, а вот подсчет всех файлов рекурсивно (включая подкаталоги и подкаталоги подкаталогов):
ls -R /home | wc -l 355
Задание: Подсчитайте, сколько всего файлов в вашей системе. (Ответ в приложении 1)
Опция -L
Подсчитает длину наибольшей строки (правда почему-то не укажет ее номера):
wc -L onegin.txt 31 onegin.txt
Опция -m
Подсчитывает только количество символов (включая пробелы, табуляцию, символы новой строки):
wc -m onegin.txt 373 onegin.txt
Опция -c
Подсчитывает байты в указанном потоке данных. Я не случайно написал так обще: «потоке данных», потому что эта опция, в отличие от прочих опций команды wc, может применяться к любым данным, а не только к текстовым. Скажем, она может подсчитать число байт в любом двоичном файле, даже графическом:
wc -c top.jpg 29559 top.jpg
И даже определить размер раздела жесткого диска:
wc -c /dev/hdb1 1003451904 /dev/hdb1
— верно, размер этого раздела около 1Гб. (Это у меня загрузочный раздел, поэтому такой маленький).
Но можно подсчитывать байты не только в файлах, но и в стандартном выводе других программ и процессов. Например:
dmesg | grep -i ‘usb’ | wc -c 2130
Словом, эта опция команды wc дает простор для исследования!
Опции —help и —version общеизвестны и обсуждаться не будут.
Команда wc и символы кириллицы
За время работы по написанию этой статьи, я не заметил никакой разницы в работе с латиницей и с кириллицей.
Резюме программы wc
Простая в освоении и полезная программа. Безусловно найдет применение в качестве программы-фильтра в составе программных каналов (pipes).
Приложения
1. Ответ на задание: Чтобы подсчитать общее число файлов в системе, нужно открыть терминал с правами суперпользователя, так как многие директории запрещены к просмотру рядовым пользователям.
Затем набрать следующее заклинание:
ls -R / | wc -l 295092
Это займет несколько минут в зависимости от производительности вашей системы.
Информация взята с open-club.ru
Источник: aidalinux.ru
Команда Wc в Linux (подсчет количества строк, слов и символов)
В 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 — количество символов.
При использовании стандартного ввода имя файла не отображается:
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 именами, завершающимися 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 вы должны ввести:
wc -l /etc/passwd
В первом столбце указано количество строк, а во втором — имя файла:
44 /etc/passwd
Подсчитайте количество слов
Чтобы подсчитать только количество слов в текстовом файле, используйте wc -w за которым следует имя файла. В следующем примере подсчитывается количество слов в файле ~/Documents/file.txt :
wc -l /etc/passwd
Количество слов показано в первом столбце:
513 /home/linuxize/Documents/file.txt
Примеры команд Wc
wc можно использовать в сочетании с другими командами через конвейер. Вот несколько примеров.
Подсчет файлов в текущем каталоге
Команда find передает список всех файлов в текущем каталоге с каждым именем файла в одной строке команде wc , которая подсчитывает количество строк и выводит результат:
find . -type f | wc -l
Подсчитайте количество пользователей
В приведенном ниже примере wc используется для подсчета количества строк в выводе команды getent .
getent passwd | wc -l
Выводы
Команда wc означает «подсчет слов» и имеет довольно простой синтаксис. Он позволяет подсчитывать количество строк, слов, байтов и символов в одном или нескольких текстовых файлах.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Источник: routerus.com
Команда wc в Linux
Для анализа файлов в Линуксе часто используют команду wc. Она считать количество строк, слов, букв в тексте.
Синтаксис
- -с — показывает размер в байтах;
- -m — считает количество символом в документе;
- -l — считает количество строк в документе;
- -L — показывает длину наибольшей строки в документе;
- -w — количество слов в документе;
- —help — показывает справочную информацию;
- —version — информация о версии.
Примеры
Сосчитаем сколько байт в файле под названием «file». Для этого будем использовать ключ «-с».
![]()
Запустим утилиту без опций, укажем только название файла.
![]()
Команда без параметров сосчитала сколько строк, слов, байтов и название файла.
- первая цифра 13 — количество строк;
- вторая цифра 13 — количество слов;
- 37 — количество байт;
- file — название документа.
Выведем на экран количество слов в документе «test». Для этого будем использовать аргумент -w.

wc -w test
Опция -w считает слова вместе с пробелами.
Подсчитаем строки в документе test. Будем использовать опцию -l.

Часто в операционной системе Linux средствами терминала нужно узнать сколько пользователей зарегистрировано. С этой задачей легко справится утилита wc. Список пользователей хранится в файле passwd, необходимо только сосчитать их.
Источник: www.vseprolinux.ru