Команда wc

Thank you for reading this post, don't forget to subscribe!

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

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

 

Син­так­сис коман­ды wc следующий:

Коман­да wc может при­ни­мать ноль или более вход­ных имен FILE. Если FILE не ука­зан или если FILE уста­нов­лен -, wc будет читать стан­дарт­ный ввод. Сло­во – это стро­ка сим­во­лов, раз­де­лен­ных про­бе­лом, сим­во­лом табу­ля­ции или новой строкой.

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

Сле­ду­ю­щая коман­да отоб­ра­зит инфор­ма­цию о вир­ту­аль­ном фай­ле /proc/cpuinfo:

Вывод будет выгля­деть при­мер­но так:

356 – это коли­че­ство строк, 2956 – это коли­че­ство слов, а 19946 – это коли­че­ство символов.

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

Что­бы отоб­ра­зить инфор­ма­цию о несколь­ких фай­лах, пере­дай­те име­на фай­лов в каче­стве аргу­мен­тов через пробел:

Коман­да предо­ста­вит вам инфор­ма­цию о каж­дом фай­ле и стро­ке, вклю­чая общую статистику:

Пара­мет­ры ниже поз­во­ля­ют вам выбрать, какие счет­чи­ки будут напечатаны.

  • -l, –lines- Рас­пе­ча­тать коли­че­ство строк.
  • -w, –words- Рас­пе­ча­тать коли­че­ство слов.
  • -m, –chars- Рас­пе­ча­тать коли­че­ство символов.
  • -c, –bytes- Выве­сти коли­че­ство байтов.
  • -L, –max-line-length- Выве­сти дли­ну самой длин­ной строки.

 

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

Напри­мер, для отоб­ра­же­ния толь­ко того коли­че­ства слов, кото­рое вы бы использовали:

Вот еще один при­мер, кото­рый напе­ча­та­ет коли­че­ство строк и дли­ну самой длин­ной строки.

Опция –files0-from=F поз­во­ля­ет wc читать вход­ные дан­ные из фай­лов, ука­зан­ных NUL-пре­рван­ных имен в фай­ле F. Если F есть, -то читать име­на из стан­дарт­но­го вво­да. Напри­мер, вы може­те искать фай­лы с помо­щью коман­ды find и предо­став­лять эти фай­лы в каче­стве вход­ных дан­ных для wc:

Вывод пока­жет коли­че­ство строк для всех фай­лов в ката­ло­ге /etc, име­на кото­рых начи­на­ют­ся с «host»:

Коман­да wc обыч­но исполь­зу­ет­ся в соче­та­нии с дру­ги­ми коман­да­ми через |. Вот несколь­ко примеров.

 

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

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