6. вырезать

Мы собираемся изучить пару полезных команд для обработки текста. Прежде чем начать, давайте создадим файл для работы. Скопируйте и вставьте следующую команду. После вставки вам нужно будет добавить литеральный символ TAB между "lazy" и "dog" (часто это можно сделать, нажав Ctrl-v, а затем TAB).

echo 'The quick brown; fox jumps over the lazy  dog' > sample.txt

Первая команда, которую мы рассмотрим, это cut, которая извлекает части текста из файла.

Вырезание по символам

Вы можете извлекать содержимое на основе позиции символа, используя флаг -c.

cut -c 5 sample.txt

Эта команда выводит 5-й символ из каждой строки файла. В нашем случае вывод — "q". Обратите внимание, что пробелы также считаются символами.

Вырезание по полям с помощью cut f

Более мощной функцией является вырезание по полям. Синтаксис cut f, использующий флаг -f, позволяет извлекать текст на основе позиции поля. По умолчанию cut использует символ TAB в качестве разделителя, что означает, что все, что разделено символом TAB, считается отдельным полем.

Давайте посмотрим, как вырезать f на основе полей:

cut -f 2 sample.txt

Поскольку мы вставили TAB между "lazy" и "dog", эта команда рассматривает "dog" как второе поле. Ваш вывод должен быть "dog".

Использование пользовательских разделителей

Вы также можете объединить флаг поля с флагом разделителя (-d), чтобы указать пользовательский разделитель. Это полезно при работе с файлами, которые используют такие символы, как запятые или точки с запятой, для разделения данных.

cut -f 1 -d ";" sample.txt

Эта команда изменяет разделитель с TAB на точку с запятой (";"). Поскольку мы вырезаем первое поле (-f 1), результатом будет "The quick brown".

Войдите, чтобы сохранить ваш прогресс обучения

Вход

Упражнения

Практика ведет к совершенству! Вот несколько практических заданий для закрепления вашего понимания обработки текста с помощью cut и других связанных команд:

  1. Команда Linux cut: Вырезание текста - Эта лаборатория предоставляет прямое практическое введение в команду cut, позволяя вам попрактиковаться в извлечении определенных столбцов или полей из текстовых файлов, как обсуждалось в уроке.
  2. Простая обработка текста - Расширьте свои навыки манипулирования текстом, используя такие мощные команды, как tr, col, join и paste, для эффективной обработки и анализа текстовых данных.
  3. Управление последовательностью и конвейер - Повысьте эффективность командной строки, научившись управлять последовательностями выполнения команд, использовать конвейеры и применять мощные инструменты обработки текста, такие как cut, grep, wc, sort и uniq.

Эти лаборатории помогут вам применять концепции в реальных сценариях и обрести уверенность в обработке текста в Linux.

Тест

Какую команду вы бы использовали, чтобы получить первый символ каждой строки в файле?