Відмінності між версіями «Wc»
(→Опції wc у Лінукс) |
(→Опції wc у Лінукс) |
||
(не показано одну проміжну версію цього учасника) | |||
Рядок 2: | Рядок 2: | ||
− | == | + | == '''Команда wc без опцій та аргументу''' == |
+ | Будучи запущена без опцій і аргументу,команда '''wc''' підраховує кількість рядків,слів і байт в стандартному вводі (наприклад,з клавіатури): | ||
− | + | $ wc (Enter) | |
+ | когда (Enter) | ||
+ | мы были (Enter) | ||
+ | молоды (Enter + Ctrl-d) | ||
+ | 3 4 38 | ||
− | + | На виході команди ми бачимо три числа: кількість рядків( 3 ),кількість слів( 4 ) і кількість байт(38). | |
− | + | =='''Робота з файлами'''== | |
− | |||
− | + | Команда '''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 [-clmw] [файл ...] | ||
+ | |||
+ | == '''Опції команди wc ''' == | ||
+ | |||
+ | '''Опція - l''' | ||
+ | |||
+ | Підраховує тільки кількість рядків: | ||
+ | |||
+ | $ wc -l onegin.txt | ||
+ | 14 onegin.txt | ||
+ | |||
+ | Корисним видається використання цієї опції в складі програмного каналу з командою ls для підрахунку кількості файлів в директоріях: | ||
+ | |||
+ | ~/Desktop$ ls | wc -l | ||
+ | 10 | ||
+ | |||
+ | Це підрахунок файлів в поточній директорії, а от підрахунок всіх файлів рекурсивно (включаючи підкаталоги і підкаталоги підкаталогів): | ||
+ | |||
+ | $ ls -R /home | wc -l | ||
+ | 355 | ||
+ | |||
+ | '''Опція - 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 | ||
+ | |||
+ | '''Опція - w''' | ||
+ | |||
+ | Пише в стандартний висновок число слів, що містяться в кожному вхідному файлі. | ||
+ | |||
+ | Наприклад,підрахувати кількість слів у файлі: | ||
+ | |||
+ | # wc -w /data/file |
Поточна версія на 15:44, 15 травня 2014
wc (абревіатура від «word count») — утиліта UNIX-подібних операційних систем, що підраховує кількість рядків, слів чи байт у вказаних файлах, а також їх суму, якщо вказано більше одного файлу. Якщо файли не вказуються, тоді команда зчитує дані зі стандартного вводу.
Команда wc без опцій та аргументу
Будучи запущена без опцій і аргументу,команда wc підраховує кількість рядків,слів і байт в стандартному вводі (наприклад,з клавіатури):
$ wc (Enter) когда (Enter) мы были (Enter) молоды (Enter + Ctrl-d) 3 4 38
На виході команди ми бачимо три числа: кількість рядків( 3 ),кількість слів( 4 ) і кількість байт(38).
Робота з файлами
Команда 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 [-clmw] [файл ...]
Опції команди wc
Опція - l
Підраховує тільки кількість рядків:
$ wc -l onegin.txt 14 onegin.txt
Корисним видається використання цієї опції в складі програмного каналу з командою ls для підрахунку кількості файлів в директоріях:
~/Desktop$ ls | wc -l 10
Це підрахунок файлів в поточній директорії, а от підрахунок всіх файлів рекурсивно (включаючи підкаталоги і підкаталоги підкаталогів):
$ ls -R /home | wc -l 355
Опція - 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
Опція - w
Пише в стандартний висновок число слів, що містяться в кожному вхідному файлі.
Наприклад,підрахувати кількість слів у файлі:
# wc -w /data/file