CUT(1) CUT(1)
НАЗВАНИЕ
cut - команда выборки отдельных полей из строк файла
СИНТАКСИС
cut -cсписок [файл ...]
cut -fсписок [-dсимвол] [-s] [файл ...]
ОПИСАНИЕ
Команда cut используется для выборки колонок из таблицы
или полей из каждой строки файла; если применить терми-
нологию баз данных, команда cut выполняет операцию про-
екции отношения. Поля, специфицированные списком, могут
быть фиксированной длины, то есть расположенные как на
перфокарте (опция -c), или переменной длины, изменяю-
щейся от строки к строке; в этом случае границей поля
является символ-разделитель, например, символ табуляции
(опция -f). Команду можно использовать как фильтр: если
не указано ни одного файла или задано имя -, использу-
ется стандартный ввод. Результат всегда поступает на
стандартный вывод.
Смысл опций команды cut таков:
список
Список целых номеров полей в возрастающем порядке,
перечисленных через запятую; возможен символ - для
указания интервалов; например, 1,4,7; 1-3,8; -5,10
(сокращение для 1-5,10); 3 (обозначение для интер-
вала от 3 до последнего поля).
-cсписок
Список, следующий за -c (без пробела), специфици-
рует позиции символов (например, опция -c1-72 за-
дает первые 72 символа каждой строки).
-fсписок
Список, следующий за -f (без пробела), является
списком номеров полей; предполагается, что поля
разделены в файле символом-разделителем (см. опцию
-d); например, -f1,7 копирует только первое и
седьмое поля. Если не задана опция -s, то строки,
не содержащие разделителей, копируются в результат
без всякой обработки (используется для ведения
подзаголовков таблиц).
-dсимвол
Символ, следующий за -d (без пробела), является
разделителем полей (только в случае опции -f). По
умолчанию разделителем является символ табуляции.
Пробел или другие символы, имеющие специальное
значение для интерпретатора команд shell, должны
заключаться в кавычки.
-s Игнорировать строки без символов-разделителей в
случае опции -f. Если опция не задана, то строки
без разделителей копируются в результат без обра-
ботки.
Одна из опций -c или -f должна быть задана обязательно.
Для осуществления горизонтальной проекции содержимого
файла по контексту используйте команду grep(1); для го-
ризонтального соединения файлов - команду paste(1).
Чтобы переупорядочить столбцы в таблице, используйте
команды cut и paste.
ПРИМЕРЫ
1. Поставить в соответствие идентификаторам пользовате-
лей их входные имена:
cut -d: -f1,3 /etc/passwd
2. Присвоить переменной name входное имя текущего поль-
зователя:
name=`who am i | cut -f1 -d" "`
СМ. ТАКЖЕ
grep(1), paste(1).
ДИАГНОСТИКА
ERROR: line too long
Строка имеет более 511 символов или полей.
ERROR: bad list for c/f option
Не задана опция -c или -f или неверно специфициро-
ван список. Ошибки не происходит, если строка име-
ет меньше полей, чем указано в списке.
ERROR: no fields
Список пуст.
ERROR: no delimeter
После опции -d не задан символ.
ERROR: cannot handle multiple adjacent backspaces
Смежные символы забоя не могут быть корректно об-
работаны.
WARNING: cannot open файл
Файл либо не доступен на чтение, либо не существу-
ет. Если задано несколько файлов, обработка про-
должается.
|