Вырезать (Unix) - cut (Unix)
| Оригинальный автор (ы) | AT&T Bell Laboratories |
|---|---|
| Разработчики) | Разные Открытый исходный код и коммерческий Разработчики |
| изначальный выпуск | Февраль 1985 г. |
| Операционная система | Unix, Unix-подобный, IBM i |
| Платформа | Кроссплатформенность |
| Тип | Команда |
| Лицензия | coreutils: GPLv3 + |
В вычисление, резать это командная строка утилита на Unix и Unix-подобный операционные системы который используется для извлечения разделов из каждой строки ввода - обычно из файл. В настоящее время он является частью GNU coreutils пакет и BSD Базовая система.
Извлечение сегментов линии обычно выполняется с помощью байты (-b), символы (-c) или поля (-f) разделенные разделителем (-d - в символ табуляции по умолчанию). В каждом случае необходимо указать диапазон, состоящий из одного из N, Н-М, N- (N до конца строки), или -M (начало строки до M), где N и M отсчитываются от 1 (нулевого значения нет). Начиная с версии 6, выдается ошибка, если вы включаете нулевое значение. До этого значение игнорировалось и принималось равным 1.
История
резать является частью X / Открыть Руководство по переносимости с выпуска 2 1987 года. Оно было унаследовано от первой версии POSIX.1 и Единая спецификация Unix.[1] Впервые он появился в AT&T System III UNIX в 1982 г.[2]
Версия резать в комплекте GNU coreutils был написан Дэвидом М. Игнатом, Дэвидом Маккензи и Джимом Майерингом.[3]
В резать команда также была перенесена в IBM i Операционная система.[4]
Примеры
Предполагая, что файл с именем "файл"содержащий строки:
foo: bar: baz: qux: quuxone: two: three: four: five: six: sevenalpha: beta: gamma: delta: epsilon: zeta: eta: theta: iota: kappa: lambda: muбыстрая коричневая лисица прыгает через ленивого собака
Чтобы вывести символы с четвертого по десятый в каждой строке:
$ вырезать -c 4-10 файлов: bar: ba: two: thха: бета быстроЧтобы вывести пятое поле до конца строки каждой строки с помощью двоеточие как разделитель полей:
$ вырезать -d ":" -f 5- файлquuxпять: шесть: семьэпсилон: дзета: эта: тета: йота: каппа: лямбда: мюБыстрая коричневая лиса прыгает через ленивую собаку(обратите внимание, что поскольку двоеточие не находится в последней строке отображается вся строка)
Вариант -d указал односимвольный разделитель (в приведенном выше примере это двоеточие), который служит разделителем полей. Вариант -f который определяет диапазон полей, включаемых в вывод (здесь поля от пяти до конца). Вариант -d предполагает использование опции -f.
Чтобы вывести третье поле каждой строки с использованием пробела в качестве разделителя полей:
$ вырезать -d " " -f 3 файлfoo: bar: baz: qux: quuxодин два три четыре пять шесть семьальфа: бета: гамма: дельта: эпсилон: дзета: эта: тета: йота: каппа: лямбда: мюкоричневый(Обратите внимание, что, поскольку пробел отсутствует в первых трех строках, отображаются все строки.)
Чтобы разделить два слова с любым разделителем:
$ линия=process.processid$ вырезать -d "." -f1 <<< $ линияпроцесс$ вырезать -d "." -f2 <<< $ линияпроцессидСинтаксис
вырезать [-b список] [-c список] [-f список] [-n] [-d разделитель] [-s] [файл]
Можно использовать следующие флаги:
- -b
- Байты; список, следующий за -b определяет диапазон байты который будет возвращен, например
вырезать -b1-66вернет первые 66 байтов строки. NB Если используется вместе с -n, нет многобайтовый символы будут разделены. NNB. -b будет работать только с входными строками менее 1023 байта - -c
- Символы; список, следующий за -c указывает диапазон возвращаемых символов, например
вырезать -c1-66вернет первые 66 символов строки - -f
- Задает список полей, разделенных разделитель
- список
- Список полей с целочисленными обозначениями, разделенных запятыми или пробелами, в последовательном порядке. В - индикатор может быть предоставлен как сокращение для включения диапазонов полей, например 4-6 для диапазонов 4–6 или 5- как сокращение от поля 5 до конца и т. д.
- -n
- Используется в сочетании с -b подавляет разбиение многобайтовые символы
- -d
- Разделитель; персонаж, следующий сразу за -d option - это разделитель полей для использования вместе с -f вариант; разделитель по умолчанию вкладка. Пробел и другие символы со специальным значением в контексте ракушка при использовании должны быть заключены в кавычки или при необходимости экранированы.
- -s
- Обходит строки, которые не содержат разделителей полей, когда -f указано, если не указано иное.
- файл
- Файл (и соответствующий путь, если необходимо) для обработки в качестве входных данных. Если файл не указан, то стандартный ввод будет использован.
Смотрите также
Рекомендации
- ^ - Справочник по командам и утилитам, Единая спецификация UNIX, Выпуск 7 из Открытая группа
- ^ – FreeBSD Общие команды Руководство
- ^ – Linux Общие команды Руководство
- ^ IBM. "Qshell для программирования IBM System i версии 7.2" (PDF). Получено 2020-09-05.
внешняя ссылка
- - Справочник по командам и утилитам, Единая спецификация UNIX, Выпуск 7 из Открытая группа
- Вырезанная страница Softpanorama.
- Вырезать выбранные поля каждой строки файла Портрет разреза (1) и его историческая справка.