Команды 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 этого инструмента.
Get new posts in your inbox
No spam. Unsubscribe anytime.