Синтаксис:
вырезать ВАРИАНТ… [ФАЙЛ]…Значение OPTION является обязательным для использования для команды 'cut', а имя ФАЙЛА указывать необязательно. Если вы не укажете имя файла в команде, данные будут взяты из стандартного ввода. Но если вы опустите значение OPTION в команде вырезания, это сгенерирует ошибку.
Параметры:
Тег опции | Описание |
-b или -byte = СПИСОК | Выберите конкретные байты. |
-c или -символ = СПИСОК | Выберите конкретных персонажей. |
-d или -delimiter = DELIM | Выберите значение DELIM в качестве разделителя. По умолчанию разделитель - TAB. |
-f или -fields = СПИСОК | Выберите конкретные поля |
-дополнять | Используйте для дополнения вывода |
-s или -only-delimited | Пропускайте строки, не содержащие разделителя. |
-разделитель вывода = СТРОКА | Использовать значение STRING в качестве разделителя вывода. |
-z или-завершается нулем | Использовать NULL как разделитель строк. |
Пример-1: разрезать по байтам
Следующая команда вырезания разрезает стандартные входные данные на основе определенных байтов. Здесь 3,4,5 и 6 определены как байты. Вывод будет сгенерирован на основе стандартного ввода. Нажмите CTRL + D, чтобы выйти из команды.
$ cut -b 3,4,5,6Выход:
Здесь вводится «Мне нравится программировать», а вывод - «нравится» на основе упомянутых байтов.
Создайте текстовый файл с именем «список продуктов.текст»Со следующим содержанием для применения команды« вырезать ». Используйте TAB для разделения полей содержимого файла.
ID Имя Цена01 Ручка $ 2
02 Карандаш $ 1.5
03 Ластик $ 1
Выполните следующую команду, чтобы получить только идентификатор продукта. Здесь байты даны в виде диапазона «1-2», чтобы вырезать данные.
$ cut -b 1-2 < productlist.txtВыход:
Пример-2: разрезать по символам
Вы можете сгенерировать тот же результат, используя параметр -c, как показано в предыдущих примерах. Итак, нет особой разницы между выводом параметров -b и -c команды cut. Выполните следующую команду, чтобы показать использование параметра -c. Здесь 4- используется как значение параметра, которое будет сокращаться с позиции 4 до всех оставшихся символов каждой строки. Вы также можете использовать отрицательный знак перед значением, например -4, тогда оно будет сокращено с начала до 4 позиций.
$ cut -c 4- список продуктов.текстВыход:
Первые три символа опускаются в выводе.
Пример-3: вырезать по разделителю и полям
Создайте файл CSV с именем 'студенты.csv ' со следующим содержанием, чтобы показать использование разделителя.
1001, Джонатан, CSE, 3.741002, Майкл, EEE, 3.99
1003, Асрафул Хак, BBA, 3.85
1004, Момотадж Хан, Английский, 3.20
Выполните следующую команду, чтобы распечатать имя студента и CGPA из студенты.csv файл. Согласно содержанию файла, 2nd и 4th поля содержат имя студента и CGPA. Итак, в этой команде используются две опции, чтобы показать вывод. Один из них - разделитель, -d, который здесь является ',', а другой - параметр поля, -f.
$ cut -d ',' -f 2,4 ученика.csvВыход:
Если вы хотите напечатать два или более последовательных столбца любых табличных данных или файла CSV, вы можете определить поля как диапазон. Диапазон значений поля используется в следующей команде. Здесь все поля с 2 по 4 будут напечатаны как выходные.
$ cut -d ',' -f 2-4 ученика.csvВыход:
Пример-4: разрезать по дополнению
-опция дополнения используется для генерации противоположного вывода команды. В следующей команде список продуктов.txt, созданный в первом примере. Здесь опция -f будет вырезать 1ул field и опция --complement будут печатать все остальные поля файла, пропуская 1ул поле.
$ cat список товаров.текст$ cut --complement -f 1 список товаров.текст
Выход:
Пример 5: вырезать по разделителю вывода
Эта опция используется для генерации вывода с использованием определенного разделителя. Ранее созданный студенты.csv файл используется в следующей команде. ',' является разделителем по умолчанию для любого файла CSV. Следующая команда использует ':' в качестве значения разделителя вывода.
$ cat студенты.csv$ cut -d "," -f 1-3 ученика.csv --output-delimiter = ":"
Выход:
После выполнения команды разделитель ввода ',' будет заменен разделителем вывода ':', а первые три поля будут напечатаны с разделением ':'.
Пример-6: Использование команды cut with pipe
Команда Cut может принимать входные данные из любого файла или из пользовательского ввода. Но вводимый текст можно отправить команде вырезания с помощью конвейера. Следующая команда показывает использование команды вырезания с трубой. Здесь команда echo будет вводить текст для команды вырезания, а команда вырезания будет вырезать поля 2 и 3 на основе разделителя.
$ echo "Тестирование команды вырезания" | вырезать -d "" -f 2,3Выход:
Пример 7: Сохранить вывод команды вырезания в файл
При желании вы также можете сохранить вывод команды вырезания в любой текстовый файл. Следующая команда возьмет содержимое студентов.csv в качестве входных данных, вырежьте 2nd поле на основе разделителя и распечатать результат в текстовом файле с именем 'имя_студента.текст'.
$ cat студенты.csv$ cat студенты.csv | cut -d кот студенты.csv | cut -d "," -f 2> имя_студента.текст","
f 2> имя_студента.текст
$ cat student_names.текст
Выход:
Заключение:
В этом руководстве мы попытаемся объяснить наиболее распространенные варианты использования команды cut, используя приведенные выше примеры. Надеюсь, использование команды cut будет очищено от читателей после выполнения приведенных выше примеров.