Вырезать (Unix) - Википедия - cut (Unix)

резать
Оригинальный автор (ы)AT&T Bell Laboratories
Разработчики)Разные Открытый исходный код и коммерческий Разработчики
изначальный выпускФевраль 1985 г.; 35 лет назад (1985-02)
Операционная система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 указано, если не указано иное.
файл
Файл (и соответствующий путь, если необходимо) для обработки в качестве входных данных. Если файл не указан, то стандартный ввод будет использован.

Смотрите также

Рекомендации

  1. ^ резать - Справочник по командам и утилитам, Единая спецификация UNIX, Выпуск 7 из Открытая группа
  2. ^ вырезать (1) – FreeBSD Общие команды Руководство
  3. ^ вырезать (1) – Linux Общие команды Руководство
  4. ^ IBM. "Qshell для программирования IBM System i версии 7.2" (PDF). Получено 2020-09-05.

внешняя ссылка