Команды Linux

Примеры команд вырезки в Linux

Примеры команд вырезки в Linux
Команда Linux 'cut' - одна из полезных команд для работы со строковыми данными и содержимым файла. В основном он используется для вырезания содержимого из табличных данных или файла CSV. Каждая строка файла может быть разрезана, а необходимые данные могут быть легко получены с помощью команды «вырезать». Его также можно использовать для вырезания текста по разделителю, символу или байтовой позиции. Эта команда имеет множество опций для вырезания данных из текста или файла разными способами. В этом руководстве на различных примерах показано, как можно использовать команду вырезания с различными параметрами.

Синтаксис:

вырезать ВАРИАНТ… [ФАЙЛ]…

Значение 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.74
1002, Майкл, 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 будет очищено от читателей после выполнения приведенных выше примеров.

Лучшие эмуляторы игровой консоли для Linux
В этой статье будет перечислено популярное программное обеспечение для эмуляции игровых консолей, доступное для Linux. Эмуляция - это уровень совмести...
Лучшие дистрибутивы Linux для игр в 2021 году
Операционная система Linux прошла долгий путь от своего первоначального простого серверного вида. Эта ОС значительно улучшилась за последние годы и те...
Как записать и транслировать игровую сессию в Linux
В прошлом игры считались только хобби, но со временем игровая индустрия увидела огромный рост с точки зрения технологий и количества игроков. Игровая ...