Jump to content

редактор (программное обеспечение)

Эд
Оригинальный автор(ы) Кен Томпсон
Разработчик(и) AT&T Bell Laboratories
Первоначальный выпуск 1973 год, 50–51 год назад.
Написано в С
Операционная система Unix , Unix-подобные , Plan 9
Платформа Кросс-платформенный
Тип Текстовый редактор
Лицензия План 9: МОЯ лицензия

ed (произносится как отдельные буквы, / ˌ ˈ d / ) [1] построчный редактор для Unix и Unix-подобных операционных систем. Это была одна из первых частей операционной системы Unix, разработанная в августе 1969 года. [2] Он остается частью стандартов POSIX и Open Group для операционных систем на базе Unix. [3] наряду с более сложным полноэкранным редактором vi .

История и влияние

[ редактировать ]

Редактор ed-текста был одним из первых трёх ключевых элементов операционной системы Unix — ассемблера , редактора и оболочки — разработанных Кеном Томпсоном в августе 1969 года на PDP-7 в AT&T Bell Labs . [2] Многие функции ed взяты из текстового редактора qed , разработанного Томпсоном в альма-матер Калифорнийском университете в Беркли, . [4] Томпсон был хорошо знаком с qed и повторно реализовал его в системах CTSS и Multics . Версии qed Томпсона были известны как первые, реализовавшие регулярные выражения . Регулярные выражения также реализованы в ed, хотя их реализация значительно менее общая, чем в qed.

Деннис М. Ричи продюсировал то, что Дуг Макилрой позже назвал «окончательным» изданием: [5] и аспекты ed продолжали влиять на ex , который, в свою очередь, породил vi . Неинтерактивная команда grep в Unix была основана на обычном специальном использовании qed и более поздней версии ed, где команда g/re/p выполняет глобальный . выражениям поиск по регулярным и выводит строки , содержащие совпадения Редактор потоков Unix, sed, реализовал многие функции сценариев qed , которые не поддерживались ed в Unix. [6] [ не удалось пройти проверку ] [7]

Особенности Эд включают в себя:

(Пе)известный своей краткостью, ed, совместимый с телетайпными терминалами, такими как Teletype Model 33 , почти не дает визуальной обратной связи, [8] и был назван ( Питером Х. Салусом ) «самым враждебным к пользователю редактором из когда-либо созданных», даже по сравнению с современным (и общеизвестно сложным) TECO . [2] Например, сообщение, которое ed ​​выдаст в случае ошибки и когда он хочет убедиться, что пользователь хочет выйти без сохранения, — это «?». Он не сообщает текущее имя файла или номер строки и даже не отображает результаты изменения текста, если это не требуется. Более старые версии (около 1981 г.) даже не запрашивали подтверждение, когда команда выхода была подана без сохранения изменений пользователем. [8] Такая краткость была уместна в ранних версиях Unix, когда консоли были телетайпами , модемы были медленными, а память была драгоценной. По мере совершенствования компьютерных технологий и ослабления этих ограничений редакторы с большей визуальной обратной связью стали нормой.

Страница руководства для ed

В текущей практике ed редко используется в интерактивном режиме, но находит применение в некоторых сценариях оболочки . В 1980-х годах для интерактивного использования ed был отнесен к редакторам sam , vi и Emacs . ed можно найти практически в каждой доступной версии Unix и Linux , и поэтому он полезен для людей, которым приходится работать с несколькими версиями Unix. В операционных системах на базе Unix некоторые утилиты, такие как SQL*Plus, запускаются в качестве редактора, если переменные среды EDITOR и VISUAL не определены. [9] Если что-то пойдет не так, Эд иногда оказывается единственным доступным редактором. Часто это единственный раз, когда он используется в интерактивном режиме.

Версия ed, предоставленная GNU, имеет несколько переключателей для улучшения обратной связи. С использованием ed -v -p: предоставляет простую подсказку и позволяет получать более полезные сообщения обратной связи. [10] -p переключатель определен в POSIX начиная с XPG2 (1987). [3]

Команды ed часто имитируются в других построчных редакторах. Например, EDLIN в ранних версиях MS-DOS и 32-битных версиях Windows NT имеет несколько схожий синтаксис, а текстовые редакторы во многих MUD ( , LPMud например и его потомках) используют синтаксис, подобный ed. Однако эти редакторы обычно более ограничены в функциях.

Вот пример стенограммы учебного занятия. Для наглядности команды и текст, набираемый пользователем, выделены обычным шрифтом , а вывод из ed выделен .

a
ed is the standard Unix text editor.
This is line number two.
.
2i
  
.
,l
ed is the standard Unix text editor.$
$
This is line number two.$
w text
63
3s/two/three/
,l
ed is the standard Unix text editor.$
$
This is line number three.$
w text
65
q

Конечным результатом является простой текстовый файл, содержащий следующий текст:

ed is the standard Unix text editor.
  
This is line number three.

Начал с пустого файла, a команда добавляет текст (все команды ed состоят из отдельных букв). Команда переводит ed в режим вставки , вставляя следующие за ним символы и завершается одной точкой в ​​строке. Две строки, введенные до точки, попадают в файловый буфер. 2i Команда также переходит в режим вставки и вставляет введенный текст (в нашем случае одну пустую строку) перед второй строкой. Все команды могут иметь префикс номера строки для работы с этой строкой.

В линии ,l, строчная буква L обозначает команду списка. Перед командой стоит диапазон, в данном случае , что является ярлыком для 1,$. Диапазон представляет собой два номера строк, разделенных запятой ( $ означает последнюю строку). В свою очередь, ed перечисляет все строки, от первой до последней. Эти строки заканчиваются знаками доллара, поэтому пробелы в конце строк хорошо видны.

Как только пустая строка вставляется в строку 2, появляется строка с надписью «Это строка номер два». теперь это фактически третья строка. Эта ошибка исправляется с помощью 3s/two/three/, команда замены. 3 применит его к правильной строке; после команды идет заменяемый текст, а затем сама замена. Перечисление всех строк с ,l линия теперь отображается правильно.

w text записывает буфер в файл «текст», заставляя ed отвечать 65 — количеством символов, записанных в файл. q завершит сеанс редактирования.

Культурные ссылки

[ редактировать ]

Project На веб-сайте проекта GNU размещено множество шуток вокруг ed. Кроме того, в документации glibc указан код ошибки под названием ED в его описании (errorstr) всего лишь один вопросительный знак, отмечающий, что «опытный пользователь поймет, что не так». [11]

См. также

[ редактировать ]
  1. ^ Computerphile (06.07.2018), Откуда взялся GREP - Computerphile , заархивировано из оригинала 11 декабря 2021 г. , получено 21 октября 2020 г.
  2. ^ Jump up to: а б с Салус, Питер Х. (2005). Демон, Гну и Пингвин . Гроклав . Архивировано из оригинала 5 мая 2010 г.
  3. ^ Jump up to: а б ed – Справочник по оболочке и утилитам, Единая спецификация UNIX , версия 4 от Open Group.
  4. ^ Д. М. Ричи и К. Л. Томпсон, «Текстовый редактор QED», MM-70-1373-3 (июнь 1970 г.), переиздано как «Справочное руководство по текстовому редактору QED», MHCC-004, Murray Hill Computing, Bell Laboratories (октябрь 1972 г.).
  5. ^ Макилрой, доктор медицины (1987). Читатель Research Unix: аннотированные выдержки из Руководства программиста, 1971–1986 (PDF) (Технический отчет). CSTR. Лаборатории Белла. 139.
  6. ^ Раймонд, Эрик (2003). «Искусство программирования для Unix» (PDF) . Архивировано (PDF) из оригинала 15 июня 2023 г. Проверено 14 июня 2023 г.
  7. ^ «О ранней истории и влиянии Unix» . Спустя некоторое время на замену возникла потребность в другой специальной программе — gres: g/re/s. Ли МакМэхон взялся написать ее и вскоре предвидел, что семейству не будет конца: г/ре/д, г/ре/а и т. д. По мере развития его концепции она стала сед…
  8. ^ Jump up to: а б Дональд А. Норман (1981). «Правда о UNIX» (PDF) . Датаматизация . Архивировано из оригинала (PDF) 16 апреля 2014 г.
  9. ^ Администрирование SQL*Plus . Доступ 23.07.2016.
  10. ^ ed(1) Linux по основным командам Руководство
  11. ^ «Библиотека GNU C — коды ошибок» . www.gnu.org .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 6a1f5e8fe7b99cb0d608575b05770050__1720381560
URL1:https://arc.ask3.ru/arc/aa/6a/50/6a1f5e8fe7b99cb0d608575b05770050.html
Заголовок, (Title) документа по адресу, URL1:
ed (software) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)