Последние новости:

Поиск по сайту:

Чрезмерная скромность есть не что иное, как скрытая гордость (А. Шенье).

Команда wc в Linux

22.05.2019
Команда wc в Linux

В Linux и Unix-подобных операционных системах команда wc позволяет подсчитать количество строк, слов и байтов каждого указанного файла или стандартного ввода и распечатать результат.

В этой статье мы покажем вам, как использовать команду wc в Linux, на простых и практичных примерах.

 

Синтаксис команды 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 обычно используется в сочетании с другими командами через |. Вот несколько примеров.

 

Команда find передает список всех файлов в текущем каталоге с каждым именем файла в одной строке команде wc, которая считает количество строк и печатает результат:

find . -type f | wc -l

В приведенном ниже примере wc используется для подсчета количества строк в выходных данных команды getent.

getent passwd | wc -l

К настоящему времени вы должны хорошо понимать, как использовать команду wc в Linux.

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

2 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Денис

Здравствуйте, есть некий файл, допустим /tmp/nginx-access.log. В данном файле допустим Нужно посчитать, сколько HTTP-запросов было обработано ориджином 24 ноября между 13:00:00 и 14:00:00. Как с помощью WC это всё подсчитать ?
Интересует выводная команда .

Andriy

grep /tmp/nginx-access.log -e «HTTP» | wc -l

Читайте также

Статьи партнеров:

2
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить

Спасибо! Ваша заявка принята

close

Спасибо! Ваша заявка принята

close