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