Команда cut: выбрать поля по разделителю
Извлеките нужные поля из строк с простым разделителем. Разберите пустые поля, строки без разделителя и порядок результата при списке полей.
Назначение команды
cut выбирает части каждой записи независимо. В режиме полей разделитель отделяет позиции, включая пустые значения между соседними разделителями. Это лёгкий инструмент для простых форматов; он не разбирает кавычки и экранирование полноценного CSV.
Синтаксис и учебный пример
Форма cut -d РАЗДЕЛИТЕЛЬ -f СПИСОК [ФАЙЛ...] выбирает номера с единицы. Список допускает отдельные номера и диапазоны. Порядок номеров в списке не переставляет исходные колонки: запрос 3,1 выводит сначала первое, затем третье поле.
echo north:ready:12 > station.txt
cut -d : -f 1,3 station.txtПроверка: Вывод north:12 содержит только первое и третье поля.
Опции и варианты записи
Таблица разделяет основные формы записи. Ниже отдельно перечислены пределы виртуальной команды.
| Запись | Смысл |
|---|---|
| -d CHAR | Один символ разделителя; без -d поля разделяются TAB. |
| -f 1,3 | Выбор первого и третьего полей. |
| -f 2- | Поля от второго до конца строки. |
| -s | Не выводить строки, в которых разделителя вообще нет. |
Вывод, ошибки и статус
Выбранный текст поступает в stdout. Строка без разделителя по умолчанию выводится целиком, даже если запрошено отсутствующее поле; -s меняет именно это поведение. Строка с разделителем, но без выбранной позиции, может дать пустую результирующую запись. Успешная пустая выборка не считается ошибкой.
Как избежать неверного результата
Пробел как разделитель означает один символ, а не произвольный пробельный промежуток. В a::c второе поле пустое, третье содержит c. Если вход содержит quoted CSV, вложенные структуры или переменное количество пробелов, сначала выберите подходящий парсер и сформулируйте правила формата.
Реальная система и учебная модель
Учебная команда реализует только -f, -d, -s и --. Разделитель ограничен одним ASCII-символом кроме newline; номера — от 1 до 65536. Режимы байтов и символов, --complement и выходной разделитель GNU cut не поддерживаются. Обработанные данные остаются внутри виртуальной среды.
Технические источники
Использованы для проверки поведения. Объяснения и учебные сценарии созданы для проекта.
- GNU Coreutils — cut
Проверка текста: 2026-09-11. Нативное исполнение на всей матрице дистрибутивов ещё не подтверждено.
Основные понятия общие для Linux. Состав утилит, версии и системные настройки зависят от окружения.
От материала к практике
Выберите следующую тему в каталоге Linux или проверьте знакомые команды в учебном терминале.