uz
KA
июня 23, 2025
Обновлено июня 23, 2025

Команда Sed Linux

Linux

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

Мы покажем возможности команды Sed, а также, как она становится незаменимым помощником для редактирования текста и точного подбора шаблонов. Повысьте свой опыт работы с командной строкой и расширьте свои возможности в области работы с текстовыми данными.

Установка утилиты sed

В начале процесса установки мы обновляем индексы и пакеты обновления текущих приложений и утилит. Это поможет избежать потенциальных проблем с совместимостью:

apt update && apt upgrade -y
Обновление пакетов
Скриншот №1 — Обновление пакетов

Если вы используете другой менеджер пакетов, загляните в документацию и поищите индексы обновленных пакетов, например, в менеджере yum, который мы будем использовать:

yum update

Обычно в ОС уже установлена утилита SED, но если вы ее не установили, то вам нужно ввести команду установки через ваш менеджер:

apt install sed -y

После этого убедитесь, что у вас установлен sed, набрав команду command и посмотрев результат:

sed
sed
Скриншот №2 — SED

SED представляет собой самодостаточный текстовый редактор, который может помочь вставить, заменить, удалить данные в нужном месте, не открывая файл! Это может быть достаточной поддержкой в автоматизации и облегчении управления системой. Посмотрите на синтаксис команды: sed options -e command file. Логика работы такова, мы обозначаем команду действием и файлом. Затем программа использует два буфера, активный и дополнительный, сохраняет в них данные и строка за строкой анализирует условия на предмет совпадения. При наличии таковых команда применяется к строке и сохраняется в файл, а также перенаправляется в выходной поток.

Sed Linux синтаксис

Рассмотрим основные варианты, которые мы можем использовать в SED:

  • n чтобы не отображать данные строки после каждой выполненной команды;
  • e команда, которую нам нужно использовать, если вы укажете одну команду;
  • f разрешает команду чтения для выполнения из указанного файла;
  • i создает резервную копию файла, прежде чем редактировать его;
  • s означает, что мы указываем несколько файлов и их нужно рассматривать отдельно.

Также мы можем указать адрес или номер строки для модерации текста в поле выполнения, существуют следующие типы указания адреса:

  • просто номер нужной строки, например 6;
  • первая строка ~ шаг цикла для редактирования, например, 1~5;
  • знак $, который указывает на последнюю строку, например $;
  • регулярное выражение, соответствующее тексту по условию, например /need-text/;
  • указать первый и последний номера строк, например 1,5.

Не забывайте использовать команду для выбора номера или диапазона строки, давайте опишем список rhem:

  • s/item для элемента замены/результата замены/опции – замена значений строк;
  • q завершить работу по использованию команды;
  • d Удалить буфер и начать новую итерацию;
  • p отображение содержимого буфера.

Sed Linux примеры

После тщательного изучения синтаксиса мы можем описать случай использования и результат этой команды. В созданном файле у нас есть тестовые данные:

Тестовые данные
Скриншот №3 — Тестовые данные

Сначала мы можем попробовать заменить все буквы o на a в строках с 1 по 3 и перед использованием создать резервную копию:

sed -i  '1,3 s/o/a/g' ./ww

С помощью опции i мы создаем резервную копию, 1,3 позволяют нам применить редактирование для указанных строк, а затем мы используем путь к файлу ./www, в результате чего мы имеем результат использования:

cat ww
Первый результат
Скриншот №4 — Первый результат

Бывают ситуации, когда нам нужно найти информацию в выделенном диапазоне строки, для этого мы и воспользуемся:

sed '1,4p' ./ww
Второй результат
Скриншот №5 — Второй результат

С помощью опции p мы успешно выводим форму от 1 до 4 строк. Рассмотрим способ, когда нам нужно удалить строку в тексте, для этого мы воспользуемся регулярным выражением:

sed '/^#\|^$\| *#/d' ./ww
Третий результат
Скриншот №6 — Третий результат

На рисунке видно, что пробелов между строками не существует, значит, команда была применена успешно!

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

Оценка:
5 из 5
Аverage rating : 5
Оценок: 5
100029 Ташкент Улица Якка Чинар, дом 2/1
ООО «ИТГЛОБАЛКОМ ЛАБС»

Вам также может быть интересно...