ed — перший стандартний текстовий редактор операційної системи UNIX, застосовувався на початку 1970-х. Розширена його версія, відома як ex, послужила основою редактора vi.

Має командно-орієнтований інтерфейс, оскільки створювався в ті часи, коли моніторів не існувало і стандартним засобом введення-виведення був телетайп.

Після появи екранно-орієнтованих редакторів ed став використовуватися в першу чергу для автоматичної обробки за допомогою командної оболонки UNIX, наприклад, для застосування патчів. У такій якості, він є родоначальником сімейства потокових редакторів, таких, як sed.

Могутнім продовженням ідей ed є текстовий редактор sam, який був написаний для Plan 9.

Команди редактора ed використовуються і в інших рядкових редакторах. Наприклад редактор EDLIN, що використався в ранніх версіях MS-DOS, мав аналогічний синтаксис, а вбудовані редактори в багатьох іграх типу MUD (наприклад LPMud і похідні) використовують схожий синтаксис. Проте, в більшості своїй, ці редактори мають значно обмеженішу функціональність.

Команди

[ред. | ред. код]

ed - текстовий редактор, базовим об'єктом маніпулювання якого є рядки. Підтримує два режими роботи: командний та вводу даних. Робота починається з командного режиму. Для переходу в режим вводу даних використовуються команди:

Ввід даних закінчується крапкою (.) у новому рядку.

Команди маніпулювання з рядками:

Адміністративні команди

Взагалі команди мають наступну структуру: [address [,address]]command[parameters]

У редакторі ed команди діють тільки на поточний рядок. Спочатку це перший рядок файла, потім той, що був задіяний останнім під час роботи з попередньою командою.

Адресація рядків

[ред. | ред. код]

Методи роботи з ed

[ред. | ред. код]

Крім традиційного режиму роботи з ed, можна працювати з редактором також:

echo '<ED-COMMANDS>' | ed <FILE>
ed <FILE> < '<ED-COMMANDS>'
ed <FILE> << EOF
<ED-COMMANDS>
EOF

Приклад роботи

[ред. | ред. код]

Є файл з таким змістом

London
Paris
Prague

Потрібно з даного файлу отримати файл нового змісту

Paris
Prague
Kyiv

Для цього виконуємо в редакторі ed команди:

3a
Kyiv
.

Дана команда додає після третього рядка (3a) рядок зі змістом "Kyiv"

1d
w
q

Видаляємо перший рядок (1d), записуємо зміни в файл (w) та виходимо з редактора (q).

Посилання

[ред. | ред. код]