cut — утиліта UNIX, що друкує вибрані частини рядків з кожного файлу на стандартний вивід.
Витяг сегментів рядків звичайно відбувається по байтах (-b), по символах (-c), або по полях (-f) обмежених розподільниками (-d — символ табуляції за умовчанням). Діапазон може бути встановлений в кожному випадку, для цього слід вказати один з варіантів: N, N-M, N- (від N і до кінця рядка), або -M (від початку рядка до M).
- cut {-b список-байтів --bytes=список-байтів} [-n] [--help] [--version] [файл.]
- cut {-c список-символів --characters=список символів} [--help] [--version] [файл.]
- cut {-f список полів --fields=список-полів} [-d роздільник] [-s] [--delimiter=роздільник] [--only-delimited] [--help] [--version] [файл.]
- -b, --bytes=СПИСОК
- вибрати тільки задані байти
- -c --characters=СПИСОК
- вибрати тільки задані знаки
- -d, --delimiter=РОЗДІЛЬНИК
- використовувати для розділення полий РОЗДІЛЬНИК замість табуляції
- -f, --fields=LIST
- друкує тільки поля, перераховані в списку полів. Поля за умовчанням розділяються символом TAB.
- --complement
- доповнити множину вибраних байтів, символів або полів.
- -s, --only-delimited
- не друкувати рядки, що не містять роздільників
- --output-delimiter=РЯДОК
- використовувати РЯДОК для розділення полів на виводі, за умовчанням використовується роздільник для вводу
- --help
- показати довідку і вийти
- --version
- показати інформацію про версію і вийти
Припустимо, файл з назвою file міститть рядки:
foo:bar:baz:qux:quux
one:two:three:four:five:six:seven
alpha:beta:gamma:delta:epsilon:zeta:eta:teta:iota:kappa:lambda:mu
Щоб вивести з четвертого по десятий символи кожного рядка, даємо команду:
% cut -c 4-10 file
На виході маємо:
:bar:ba
:two:th
ha:beta
Щоб отримати результат від п'ятого поля до кінця рядка, де поля розділені двокрапкою, командуємо:
% cut -d : -f 5- file
Це дасть на виводі:
quux
five:six:seven
epsilon:zeta:eta:teta:iota:kappa:lambda:mu