Обзор
ed — это мощный, но лаконичный редактор, специализирующийся на редактировании текстовых файлов построчно. Помимо интерактивного режима, он может использоваться в неинтерактивном режиме в скриптах, что делает его подходящим для автоматизированной обработки текста.
Основные характеристики
- Строково-ориентированное редактирование: работа построчно
- Дружелюбен к скриптам: подходит для неинтерактивного использования
- Очень легкий: использует минимальные ресурсы
- Стандарт POSIX: предустановлен в большинстве систем Unix/Linux
Основные опции
ed имеет немного опций командной строки, большинство функций выполняется внутренними командами редактора.
Управление поведением
Сгенерированная команда:
Комбинируйте команды.
Описание:
`ed` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Примеры использования
ed можно использовать интерактивно или через перенаправление ввода в скриптах.
Создание нового файла и добавление текста
ed newfile.txt
a
Hello, ed!
This is a test line.
.
w
q
Открывает новый файл, добавляет текст, затем сохраняет и выходит.
Открытие существующего файла и просмотр содержимого
ed existing_file.txt
1,$p
q
Открывает существующий файл, выводит все строки, затем выходит.
Замена определенного текста (неинтерактивно)
echo '1,$s/old_text/new_text/g
w
q' | ed -s my_document.txt
Заменяет весь 'old_text' на 'new_text' в файле и сохраняет. Опция -s подавляет вывод.
Добавление содержимого в конец файла (неинтерактивно)
echo '$a
New line added at the end.
.
w
q' | ed -s my_document.txt
Добавляет новую строку в конец файла и сохраняет.
Советы и предостережения
ed имеет совершенно иной способ использования, чем другие современные редакторы, поэтому важно понимать несколько ключевых концепций.
Ключевые концепции использования ed
- Режим команд и режим ввода: ed по умолчанию находится в режиме команд, и вы переходите в режим ввода с помощью команд
a(append),i(insert),c(change). В режиме ввода ввод.(точки) в отдельной строке возвращает вас в режим команд. - Указание адресов: Команды могут применяться к определенным строкам (например,
1— первая строка,$— последняя строка,.— текущая строка) или диапазонам строк (например,1,$— весь файл). - Сохранение и выход: Команда
wсохраняет изменения, а командаqзавершает работу редактора. Комбинации типаwqне поддерживаются.Qпринудительно завершает работу без сохранения изменений. - Проверка текущей строки: Ввод команды
.выводит содержимое текущей строки, а команда=выводит номер текущей строки. - Использование регулярных выражений: Вместе с командой
s(substitute) вы можете использовать мощные регулярные выражения для поиска и замены текста.