Jump to content

вырезать (Unix)

резать
Оригинальный автор(ы) AT&T Bell Laboratories
Разработчик(и) Различные с открытым исходным кодом и коммерческие разработчики разработчики
Первоначальный выпуск февраль 1985 г .; 39 лет назад ( 1985-02 )
Операционная система Unix , Unix-подобные , IBM i
Платформа Кросс-платформенный
Тип Команда
Лицензия основные утилиты : GPLv3+

В вычислениях , cut — это утилита командной строки в Unix и Unix-подобных операционных системах , которая используется для извлечения разделов из каждой строки ввода — обычно из файла . В настоящее время он является частью пакета GNU coreutils и базовой системы BSD .

Извлечение сегментов линии обычно может выполняться по байтам ( -b), персонажи ( -c) или поля ( -f), разделенные разделителем ( -d символ табуляции по умолчанию). В каждом случае должен быть указан диапазон, состоящий из одного из N, N-M, N- ( N до конца строки) или -M (начало строки до M), где N и M отсчитываются от 1 (нулевого значения нет). Начиная с версии 6, если вы включаете нулевое значение, выдается ошибка. До этого значение игнорировалось и принималось равным 1.

Оригинальная версия Bell Labs была написана Готфридом Людерером . [1] [2] cut является частью руководства по переносимости X/Open, начиная с выпуска 2 1987 года. Он был унаследован в первой версии POSIX.1 и единой спецификации Unix . [3] Впервые он появился в AT&T System III UNIX в 1982 году. [4]

Версия cut пакет GNU coreutils был написан Дэвидом М. Игнатом, Дэвидом Маккензи и Джимом Мейерингом. [5] Команда доступна в виде отдельного пакета для Microsoft Windows как часть UnxUtils коллекции , состоящей из собственных Win32- портов распространенных GNU Unix-подобных утилит. [6] Команда Cut также была перенесена в операционную систему IBM i . [7]

Предполагая, что файл с именем " file", содержащий строки:

foo:bar:baz:qux:quux
one:two:three:four:five:six:seven
alpha:beta:gamma:delta:epsilon:zeta:eta:theta:iota:kappa:lambda:mu
the quick brown fox jumps over the lazy dog

Чтобы вывести символы с четвертого по десятый каждой строки:

$ cut -c 4-10 file
:bar:ba
:two:th
ha:beta
 quick

Чтобы вывести пятое поле до конца строки каждой строки, используя символ двоеточия в качестве разделителя полей:

$ cut -d ":" -f 5- file
quux
five:six:seven
epsilon:zeta:eta:theta:iota:kappa:lambda:mu
the quick brown fox jumps over the lazy dog

(обратите внимание: поскольку символ двоеточия не найден в последней строке, отображается вся строка)

Вариант -d указывает разделитель из одного символа (в приведенном выше примере это двоеточие), который служит разделителем полей. Вариант -f который определяет диапазон полей, включенных в вывод (здесь поля варьируются от пяти до конца). Вариант -d предполагает использование опции -f.

Чтобы вывести третье поле каждой строки, используя пробел в качестве разделителя полей:

$ cut -d " " -f 3 file
foo:bar:baz:qux:quux
one:two:three:four:five:six:seven
alpha:beta:gamma:delta:epsilon:zeta:eta:theta:iota:kappa:lambda:mu
brown

(Обратите внимание: поскольку символ пробела не встречается в первых трех строках, отображаются все строки.)

Чтобы разделить два слова, имеющие любой разделитель:

$ line=process.processid
$ cut -d "." -f1 <<< $line
process
$ cut -d "." -f2 <<< $line
processid

Синтаксис

[ редактировать ]
cut [-b list] [-c list] [-f list] [-n] [-d delim] [-s] [file]

Флаги, которые можно использовать, включают:

Байты; список после -b указывает диапазон байтов , которые будут возвращены, например cut -b1-66 вернет первые 66 байтов строки. NB При использовании вместе с -n , многобайтовые символы не будут разделены. ННБ. -b будет работать только со строками ввода длиной менее 1023 байта.
Персонажи; список после -c указывает диапазон символов, которые будут возвращены, например cut -c1-66 вернет первые 66 символов строки
Указывает список полей, разделенных разделителем .
список
Список целочисленных полей, разделенных запятыми или пробелами, упорядоченный по возрастанию. - индикатор может быть предоставлен как сокращение, позволяющее включать диапазоны полей, например 4–6 для диапазонов 4–6 или 5- как сокращение для поля 5 до конца и т.д.
Использование в сочетании с -b подавляет разделение многобайтовых символов.
Разделитель; персонаж, следующий сразу за Опция -d — это разделитель полей для использования вместе с опцией -f опция; разделитель по умолчанию — табуляция . Пробел и другие символы, имеющие особое значение в контексте оболочки , должны быть заключены в кавычки или экранированы при необходимости. используемой
Обходит строки, которые не содержат разделителей полей, когда -f указывается, если не указано иное.
файл
Файл (и сопровождающий его путь, если необходимо) для обработки в качестве входных данных. Если файл не указан, стандартный ввод . будет использоваться

См. также

[ редактировать ]
  1. ^ «cut(1) — страницы руководства OpenBSD» .
  2. ^ "[TUHS] Портрет вырезки(1)" . 15 января 2020 г.
  3. ^ cut – Справочник по оболочке и утилитам, Единая спецификация UNIX , версия 4 от Open Group.
  4. ^ cut(1) FreeBSD по основным командам Руководство
  5. ^ cut(1) Linux по основным командам Руководство
  6. ^ «Собственные порты Win32 некоторых утилит GNU» . unxutils.sourceforge.net .
  7. ^ ИБМ . «Программирование Qshell в IBM System i версии 7.2» (PDF) . ИБМ . Архивировано (PDF) из оригинала 18 сентября 2020 г. Проверено 05 сентября 2020 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e9790104e4e168cb770aac7969ab620d__1695382380
URL1:https://arc.ask3.ru/arc/aa/e9/0d/e9790104e4e168cb770aac7969ab620d.html
Заголовок, (Title) документа по адресу, URL1:
cut (Unix) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)