Unix Man (Справочное руководство)

         

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 должна быть задана обязательно.


Для осуществления горизонтальной проекции содержимого файла по контексту используйте команду ; для горизонтального соединения файлов - команду . Чтобы переупорядочить столбцы в таблице, используйте команды cut и paste.

ПРИМЕРЫ



  • Поставить в соответствие идентификаторам пользователей их входные имена:

    cut -d: -f1,3 /etc/passwd


  • Присвоить переменной name входное имя текущего пользователя:

    name=`who am i | cut -f1 -d" "`


  • СМ. ТАКЖЕ


    , .

    ДИАГНОСТИКА



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


    Содержание раздела