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 файл Файл либо не доступен на чтение, либо не существу- ет. Если задано несколько файлов, обработка про- должается.