Команда 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 — количество символов.

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

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 именами, завершающимися 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 означает «подсчет слов» и имеет довольно простой синтаксис. Он позволяет подсчитывать количество строк, слов, байтов и символов в одном или нескольких текстовых файлах.

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

Оставьте комментарий