В Linux и Unix-подобных операционных системах команда wc позволяет подсчитать количество строк, слов и байтов каждого указанного файла или стандартного ввода и распечатать результат.
В этой статье мы покажем вам, как использовать команду wc в Linux, на простых и практичных примерах.
Как использовать команду Wc
Синтаксис команды wc следующий:
wc OPTION... [FILE]...
Команда wc может принимать ноль или более входных имен FILE. Если FILE не указан или если FILE установлен -, wc будет читать стандартный ввод. Слово – это строка символов, разделенных пробелом, символом табуляции или новой строкой.
В простейшей форме, когда она используется без каких-либо опций, команда wc напечатает четыре столбца, количество строк, слов, количество байтов и имя файла для каждого указанного файла. Если файлы не указаны, (при использовании стандартного ввода) имя файла не отображается.
Следующая команда отобразит информацию о виртуальном файле /proc/cpuinfo:
wc /proc/cpuinfo
Вывод будет выглядеть примерно так:
356 2956 19946 /proc/cpuinfo
356 – это количество строк, 2956 – это количество слов, а 19946 – это количество символов.
При использовании стандартного ввода имя файла не отображается:
wc < /proc/cpuinfo
356 2956 19946
Чтобы отобразить информацию о нескольких файлах, передайте имена файлов в качестве аргументов через пробел:
wc /proc/cpuinfo
Команда предоставит вам информацию о каждом файле и строке, включая общую статистику:
356 2956 19946 /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
2956 /proc/cpuinfo
Вот еще один пример, который напечатает количество строк и длину самой длинной строки.
wc -lL /proc/cpuinfo
356 792 /proc/cpuinfo
Опция –files0-from=F позволяет wc читать входные данные из файлов, указанных NUL-прерванных имен в файле 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
Команда wc обычно используется в сочетании с другими командами через |. Вот несколько примеров.
Подсчет файлов в текущем каталоге
Команда find передает список всех файлов в текущем каталоге с каждым именем файла в одной строке команде wc, которая считает количество строк и печатает результат:
find . -type f | wc -l
Подсчитать количество пользователей
В приведенном ниже примере wc используется для подсчета количества строк в выходных данных команды getent.
getent passwd | wc -l
Заключение
К настоящему времени вы должны хорошо понимать, как использовать команду wc в Linux.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.