ed
ed— перший стандартнийтекстовий редакторопераційної системиUNIX,застосовувався на початку 1970-х. Розширена його версія, відома якex,послужила основою редактораvi.
Має командно-орієнтований інтерфейс, оскільки створювався в ті часи, коли моніторів не існувало і стандартним засобом введення-виведення бувтелетайп.
Після появи екранно-орієнтованих редакторівedстав використовуватися в першу чергу для автоматичної обробки за допомогоюкомандної оболонки UNIX,наприклад, для застосуванняпатчів.У такій якості, він є родоначальником сімейства потокових редакторів, таких, якsed.
Могутнім продовженням ідейedє текстовий редакторsam,який був написаний дляPlan 9.
Команди редактораedвикористовуються і в інших рядкових редакторах. Наприклад редактор EDLIN, що використався в ранніх версіяхMS-DOS,мав аналогічний синтаксис, а вбудовані редактори в багатьох іграх типуMUD(наприклад LPMud і похідні) використовують схожий синтаксис. Проте, в більшості своїй, ці редактори мають значно обмеженішу функціональність.
ed - текстовий редактор, базовим об'єктом маніпулювання якого є рядки. Підтримує два режими роботи: командний та вводу даних. Робота починається з командного режиму. Для переходу в режим вводу даних використовуються команди:
- 'a' (append),
- 'i' (insert),
- 'c' (change).
Ввід даних закінчується крапкою (.) у новому рядку.
Команди маніпулювання з рядками:
- 'd' (delete) видаляє рядки,
- 'm' (move) переміщує їх.
Адміністративні команди
- 'w' (write) запис в файл
- 'q' (quit) вихід з ed
Взагалі команди мають наступну структуру: [address [,address]]command[parameters]
У редакторі ed команди діють тільки на поточний рядок. Спочатку це перший рядок файла, потім той, що був задіяний останнім під час роботи з попередньою командою.
- .Поточний рядок
- $ Останній рядок
- n n-ний рядок файлу
- - попередній рядок
- ^n n попередніх рядків
- + наступний рядок
- +n n наступних рядків
- ,усі рядки, еквівалентно до 1,$
- ;з поточного рядка до кінця файла
- /re/ наступний рядок, що підпадає підрегулярний вираз
- ?re? попередній рядок, що підпадає під регулярний вираз
Крім традиційного режиму роботи з ed, можна працювати з редактором також:
- За допомогоюконвеєраUNIX
echo '<ED-COMMANDS>' | ed <FILE>
- За допомогоюперенаправлення
ed <FILE> < '<ED-COMMANDS>'
- За допомогоюHere-document
ed <FILE> << EOF <ED-COMMANDS> EOF
Є файл з таким змістом
London Paris Prague
Потрібно з даного файлу отримати файл нового змісту
Paris Prague Kyiv
Для цього виконуємо в редакторі ed команди:
3a Kyiv .
Дана команда додає після третього рядка (3a) рядок зі змістом "Kyiv"
1d w q
Видаляємо перший рядок (1d), записуємо зміни в файл (w) та виходимо з редактора (q).
- Gnu Ed[Архівовано19 грудня 2008 уWayback Machine.]
- Шпаргалка Ed[Архівовано19 грудня 2008 уWayback Machine.]
- http://wiki.bash-hackers.org/howto/edit-ed[Архівовано19 лютого 2019 уWayback Machine.]