Главная > Обработка текста и поиск > sed

Руководство по команде sed: Использование потокового редактора

`sed` команда (stream editor) — это мощный неинтерактивный инструмент обработки текста, используемый для редактирования текстовых потоков (входных данных, передаваемых через файлы или каналы). Он позволяет эффективно выполнять такие действия, как поиск, замена, удаление или вставка текста, не открывая файл. Обязательно используется для автоматизированного преобразования текста в сценариях оболочки. С помощью этого руководства вы сможете освоить основные способы использования команды `sed` и продвинутые функции с использованием регулярных выражений.

Обзор sed

`sed` считывает входной поток по строкам и обрабатывает их в соответствии с заданными правилами (скриптами), отправляя результат на стандартный вывод. Исходный файл по умолчанию не изменяется, и для сохранения изменений в файл необходимо использовать перенаправление (`>`) или опцию `-i`.

Основные функции sed

`sed` в основном используется для следующих целей:

Основные области применения

  • Замена/подстановка текста: Заменяет определенную строку в файле на другую строку. (Наиболее распространенное использование)
  • Удаление/добавление строк: Удаляет строки, содержащие определенный шаблон, или вставляет новые строки в определенное место.
  • Соответствие шаблону и вывод: Выводит только строки, соответствующие определенному шаблону, или обрабатывает только определенный диапазон строк.
  • Изменение формата файла: Преобразует формат текстового файла или реорганизует данные.
  • Автоматизация скриптов: Играет ключевую роль в сценариях оболочки для пакетной обработки большого количества текстовых файлов.

Основная структура sed

Основная структура команды `sed` имеет вид `sed [OPTIONS] 'скрипт' [INPUT_FILE...]`. Здесь 'скрипт' имеет форму `[адрес]команда[аргумент]`, и самой важной командой является `s` (substitute, замена).

Основные параметры команды sed

`sed` предлагает различные параметры для управления способом обработки входных данных, указания скриптов, управления выводом и т.д., что обеспечивает гибкое редактирование текста.

1. Параметры обработки скриптов и файлов

2. Флаги команды замены (s)

3. Другие полезные команды

Сгенерированная команда:

Комбинируйте команды.

Описание:

`sed` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры использования

Изучите различные примеры использования команды `sed`, чтобы эффективно искать, заменять и удалять содержимое текстовых файлов.

Замена всех 'old' на 'new' в файле

sed 's/old/new/g' example.txt

Заменяет все слова 'old' на 'new' в файле `example.txt` и отображает результат на стандартном выводе.

Прямое редактирование файла с заменой строки

sed -i.bak 's/DEBUG=true/DEBUG=false/' config.conf

Непосредственно изменяет 'DEBUG=true' на 'DEBUG=false' в файле `config.conf` и создает резервную копию оригинального файла (`.bak` расширение).

Удаление строки по номеру

sed '5d' log.txt

Удаляет 5-ю строку из файла `log.txt` и отображает результат.

Удаление строк в диапазоне

sed '10,20d' document.txt

Удаляет содержимое с 10-й по 20-ю строки из файла `document.txt` и отображает результат.

Удаление строк с определенным шаблоном

sed '/WARNING/d' errors.log

Удаляет все строки, содержащие слово 'WARNING', из файла `errors.log` и отображает результат.

Вставка строки заголовка в содержимое файла

sed '1i\Name,Age,City' data.csv

Вставляет новую строку заголовка над первой строкой файла `data.csv`.

Удаление пустых строк

sed '/^$/d' text.txt

Удаляет все пустые строки из файла `text.txt`. `^$` означает регулярное выражение для пустых строк.


Те же команды в категории