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
Крім традиційного режиму роботи з 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.]
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
ed pershij standartnij tekstovij redaktor operacijnoyi sistemi UNIX zastosovuvavsya na pochatku 1970 h Rozshirena jogo versiya vidoma yak ex posluzhila osnovoyu redaktora vi Maye komandno oriyentovanij interfejs oskilki stvoryuvavsya v ti chasi koli monitoriv ne isnuvalo i standartnim zasobom vvedennya vivedennya buv teletajp Pislya poyavi ekranno oriyentovanih redaktoriv ed stav vikoristovuvatisya v pershu chergu dlya avtomatichnoyi obrobki za dopomogoyu komandnoyi obolonki UNIX napriklad dlya zastosuvannya patchiv U takij yakosti vin ye rodonachalnikom simejstva potokovih redaktoriv takih yak sed Mogutnim prodovzhennyam idej ed ye tekstovij redaktor sam yakij buv napisanij dlya Plan 9 Komandi redaktora ed vikoristovuyutsya i v inshih ryadkovih redaktorah Napriklad redaktor EDLIN sho vikoristavsya v rannih versiyah MS DOS mav analogichnij sintaksis a vbudovani redaktori v bagatoh igrah tipu MUD napriklad LPMud i pohidni vikoristovuyut shozhij sintaksis Prote v bilshosti svoyij ci redaktori mayut znachno obmezhenishu funkcionalnist Komandied tekstovij redaktor bazovim ob yektom manipulyuvannya yakogo ye ryadki Pidtrimuye dva rezhimi roboti komandnij ta vvodu danih Robota pochinayetsya z komandnogo rezhimu Dlya perehodu v rezhim vvodu danih vikoristovuyutsya komandi a append i insert c change Vvid danih zakinchuyetsya krapkoyu u novomu ryadku Komandi manipulyuvannya z ryadkami d delete vidalyaye ryadki m move peremishuye yih Administrativni komandi w write zapis v fajl q quit vihid z ed Vzagali komandi mayut nastupnu strukturu address address command parameters U redaktori ed komandi diyut tilki na potochnij ryadok Spochatku ce pershij ryadok fajla potim toj sho buv zadiyanij ostannim pid chas roboti z poperednoyu komandoyu Adresaciya ryadkiv Potochnij ryadok Ostannij ryadok n n nij ryadok fajlu poperednij ryadok n n poperednih ryadkiv nastupnij ryadok n n nastupnih ryadkiv usi ryadki ekvivalentno do 1 z potochnogo ryadka do kincya fajla re nastupnij ryadok sho pidpadaye pid regulyarnij viraz re poperednij ryadok sho pidpadaye pid regulyarnij virazMetodi roboti z edKrim tradicijnogo rezhimu roboti z ed mozhna pracyuvati z redaktorom takozh Za dopomogoyu konveyera UNIX echo lt ED COMMANDS gt ed lt FILE gt Za dopomogoyu ed lt FILE gt lt lt ED COMMANDS gt Za dopomogoyu Here document ed lt FILE gt lt lt EOF lt ED COMMANDS gt EOFPriklad robotiYe fajl z takim zmistom London Paris Prague Potribno z danogo fajlu otrimati fajl novogo zmistu Paris Prague Kyiv Dlya cogo vikonuyemo v redaktori ed komandi 3a Kyiv Dana komanda dodaye pislya tretogo ryadka 3a ryadok zi zmistom Kyiv 1d w q Vidalyayemo pershij ryadok 1d zapisuyemo zmini v fajl w ta vihodimo z redaktora q PosilannyaGnu Ed 19 grudnya 2008 u Wayback Machine Shpargalka Ed 19 grudnya 2008 u Wayback Machine http wiki bash hackers org howto edit ed 19 lyutogo 2019 u Wayback Machine