Команды Linux · 2 min read · Dec 23, 2025

Команда cut в Linux: объяснение для начинающих (с примерами)

В Linux, если вы хотите вывести содержимое файла на stdout, первая команда, которая приходит на ум, это cat. Однако могут быть случаи, когда требуется удалить определенную часть файла и вывести только остальное содержимое. Вам будет приятно узнать, что существует инструмент - названный cut - который позволяет это сделать.

В этой статье мы обсудим этот инструмент, используя несколько простых для понимания примеров. Но прежде чем мы это сделаем, стоит упомянуть, что все примеры в этой статье были протестированы на машине с Ubuntu 18.04 LTS.

Команда cut в Linux

Команда cut в Linux позволяет пользователям удалять секции из каждой строки файлов. Вот ее синтаксис:

cut OPTION... [FILE]...

Вот что говорит страница man об этом утилите:

       Печатает выбранные части строк из каждого ФАЙЛА на стандартный вывод.

       Без ФАЙЛА, или когда ФАЙЛ - , читать стандартный ввод.

А вот несколько примеров в формате вопрос-ответ, которые должны дать вам хорошее представление о том, как работает этот утилита.

Вопрос 1. Как использовать команду cut?

Команда 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

Вопрос 2. Как работать с символами?

Иногда файл, который вы передаете команде cut, содержит символы, которые занимают более одного байта. В этом случае рекомендуется использовать параметр -c, который позволяет инструменту правильно понять, какие символы вы хотите отобразить или удалить.

Например, ♣ - это специальный символ, который занимает несколько байтов. Поэтому, если вы хотите использовать команду cut на текстовом потоке, который содержит такие символы, то лучше использовать -c вместо -b. Функционально оба параметра -c и -b работают аналогично.

Вопрос 3. Как работает cut с разделителями?

Вы также можете заставить команду cut работать с разделителями. Для этого вы можете использовать командный параметр -d.

Например, предположим, что входной файл содержит поля, разделенные запятыми:

Howtoforge, HTF, howtoforge.com  
FaqForge, FF, faqforge.com

И вы хотите только первые и третьи записи, тогда это можно сделать следующим образом:

cut file1.txt -d, -f1,3

Обратите внимание, что параметр -f позволяет вам выбрать поля, которые вы хотите отобразить.

Заключение

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

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.