Поиск по сайту:

Объяснение команды Linux cut для начинающих (с примерами)


На этой странице

  1. Команда вырезания в Linux
  2. Q1. Как использовать команду вырезания?
  3. Вопрос 2. Как быть с персонажами?
  4. Вопрос 3. Как cut работает с разделителями?
  5. Заключение

В 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 позволяет вам выбрать поля, которые вы хотите отобразить.

Заключение

Итак, вы видите, что команда вырезания может сэкономить много вашего времени, если задача включает выборочный вывод содержимого файлов. Здесь, в этом руководстве, мы обсудили некоторые основные параметры командной строки, которые предлагает этот инструмент. Чтобы узнать больше, перейдите на справочную страницу инструментов.