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.
 ПРИМЕРЫ 
 
- Поставить в соответствие идентификаторам пользователей их входные имена:
cut -d: -f1,3 /etc/passwd
 
 - Присвоить переменной 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 файл 
 - Файл либо не доступен на чтение, либо не существует. Если задано несколько файлов,  обработка  продолжается.
  
 |