Объяснение команды Linux cut для начинающих (с примерами)
На этой странице
- Команда вырезания в Linux
- Q1. Как использовать команду вырезания?
- Вопрос 2. Как быть с персонажами?
- Вопрос 3. Как cut работает с разделителями?
- Заключение
В Linux, если вы хотите вывести содержимое файлов на стандартный вывод, первая команда, которая приходит на ум, это cat. Однако могут быть случаи, когда требуется удалить определенную часть файла и распечатать только остальное содержимое. Вы будете рады узнать, что существует инструмент, называемый cut, который позволяет вам это делать.
В этой статье мы обсудим этот инструмент на нескольких простых для понимания примерах. Но прежде чем мы это сделаем, стоит упомянуть, что все примеры в этой статье были протестированы на компьютере с Ubuntu 18.04 LTS.
Команда вырезания в линукс
Команда cut в Linux позволяет пользователям удалять разделы из каждой строки файлов. Ниже приведен его синтаксис:
cut OPTION... [FILE]...
Вот что говорит man-страница об этой утилите:
Print selected parts of lines from each FILE to standard output.
With no FILE, or when FILE is -, read standard input.
Ниже приведены несколько примеров в стиле вопросов и ответов, которые должны дать вам хорошее представление о том, как работает эта утилита.
Q1. Как использовать команду вырезания?
Команда cut предполагает, что пользователь предоставит список байтов, символов или полей. Вы можете указать байты, используя параметр командной строки -b.
Например, предположим, что есть файл с именем file1.txt, который содержит следующую строку:
abcdefghijklmnopqrstuvwxyz
И вы хотите отображать только первые три байта. Тогда в этом случае вы можете использовать опцию -b следующим образом:
cut file1.txt -b1,2,3
Вывод будет:
abc
Вы также можете указать диапазон:
cut file1.txt -b1-10
Ниже приведен вывод, полученный в этом случае:
abcdefghij
Двигаясь дальше, вы также можете использовать дефис (-) с числом, чтобы указать команде cut либо отображать все байты после байта с этим номером, либо все байты до байта с этим номером.
Например, следующая команда обеспечит отображение всех байтов, включая и после байта под номером 5.
cut file1.txt -b5-
И следующая команда отобразит первые 5 байтов:
cut file1.txt -b-5
Q2. Как быть с персонажами?
Иногда файл, который вы передаете команде cut, содержит символы размером более одного байта. В этом случае рекомендуется использовать параметр -c, который позволяет инструменту правильно понять, какие символы вы хотите отобразить или удалить.
Например, ♣ – это специальный символ, который занимает несколько байтов. Поэтому, если вы хотите использовать команду cut для текстового потока, содержащего такие символы, то лучше использовать -c вместо -b. С точки зрения функциональности обе опции -c и -b работают одинаково.
Q3. Как cut работает с разделителями?
Вы также можете заставить команду cut работать с разделителями. Для этого вы можете использовать параметр командной строки -d.
Например, предположим, что входной файл содержит поля, разделенные запятыми:
Howtoforge, HTF, linux-console.net
FaqForge, FF, faqforge.com
А вы хотите только первую и третью записи, то это можно сделать следующим образом:
cut file1.txt -d, -f1,3
Обратите внимание, что опция -f позволяет вам выбрать поля, которые вы хотите отобразить.
Заключение
Итак, вы видите, что команда вырезания может сэкономить много вашего времени, если задача включает выборочный вывод содержимого файлов. Здесь, в этом руководстве, мы обсудили некоторые основные параметры командной строки, которые предлагает этот инструмент. Чтобы узнать больше, перейдите на справочную страницу инструментов.