ed(텍스트에디터)

ed (text editor)
ed.
Ed lines.jpg
ed텍스트 에디터
원저작자켄 톰슨
개발자AT&T 벨 연구소
초기 릴리즈1973년, 48~49년 전
기입처C
운영 체제Unix, Unix와 같은 플랜9
플랫폼크로스 플랫폼
유형텍스트 편집기
면허증.계획 9: MIT 라이선스

ed(/'i'di'/[1]로 발음)는 Unix 및 Unix 유사 운영체제용 라인 에디터입니다.1969년 [2]8월에 개발된 유닉스 운영 체제의 첫 번째 부분 중 하나이다.POSIXOpen Group 규격의 일부로서 Unix [3]기반 운영체제에서는 보다 고도의 풀스크린 에디터 vi와 함께 사용되고 있습니다.

역사와 영향

에디터 텍스트 편집기는 1969년 8월 Ken Thompson이 AT&T Bell [4]LabsPDP-7에서 개발한 Unix 운영 체제의 첫 번째 3가지 핵심 요소 하나입니다.ed의 많은 특징들은 톰슨모교[5]버클리 캘리포니아 대학에서 개발된 QED 텍스트 편집기에서 나왔다.Thompson은 Qed에 대해 매우 잘 알고 있으며, 이를 CTSSMultics 시스템에 다시 구현했습니다.톰슨의 Qed 버전은 정규 표현을 최초로 구현한 것으로 주목할 만하다.정규 표현도 ed에서 구현되지만, 그 구현은 ed에서 구현되는 것보다 훨씬 덜 일반적입니다.

데니스 M. Ritchie는 후에 Doug McIlroy가 "결정적인" [6]ed라고 표현한 을 제작했고, ed의 측면이 ex에 영향을 미쳐 vi를 낳았습니다.비인터랙티브 UNIX 명령어 grep는 qed 및 later ed의 일반적인 특수 사용에서 영감을 받았습니다.g/re/p정규 표현을 글로벌하게 검색하는 것을 의미합니다.re그리고 그것을 포함하는 라인을 인쇄합니다.Unix 스트림 에디터는 ed on Unix에서 지원되지 않는 qed의 많은 스크립트 기능을 구현했습니다.

특징들

ed의 특징은 다음과 같습니다.

  • 기본적으로 모든 Unix 시스템에서 사용할 수 있습니다(단일 Unix 사양에 준거한 시스템에서는 필수).
  • 정규 표현 지원
  • 강력한 자동화는 표준 입력에서 명령을 공급함으로써 실현됩니다.

(In)는 그 간결함으로 유명하며, ed는 시각적 [7]피드백을 거의 제공하지 않으며, (Peter H. Salus에 의해) "지금까지 만들어진 가장 사용자 적대적인 에디터"로 불리며, 심지어 현대(그리고 악명 높은 복잡한)[2] TECO와 비교해도 마찬가지입니다.예를 들어, 에러가 발생했을 , 및 유저가 보존하지 않고 종료하고 싶은 경우에, ed 로 표시되는 메세지는 「?」입니다.요청하지 않는 한 현재 파일 이름 또는 행 번호를 보고하지 않으며 텍스트 변경 결과도 표시하지 않습니다.이전 버전(c. 1981년)에서는 사용자가 [7]변경 내용을 저장하지 않고 종료 명령을 발행할 때 확인 요청조차 하지 않았습니다.콘솔이 텔레타이프이고 모뎀이 느리고 메모리가 귀했던 초기 버전의 Unix에서는 이 정도 사양이 적절했습니다.컴퓨터 테크놀로지가 향상되고 이러한 제약이 완화됨에 따라 시각적 피드백이 많은 편집자가 표준이 되었습니다.

ed의 man 페이지

현재 ed는 대화형으로 사용되는 경우가 거의 없지만 일부 셸 스크립트에서 사용됩니다.대화형 사용을 위해 ed는 1980년대에 Sam, viEmacs 편집자에 의해 채택되었습니다.ed는 거의 모든 버전의 Unix 및 Linux에서 찾을 수 있으므로 여러 버전의 Unix를 사용해야 하는 사용자에게 유용합니다.UNIX 기반 운영체제에서는 EDITOR 및 VISIAL 환경변수가 [8]정의되지 않은 경우 SQL*Plus 등의 일부 유틸리티가 에디터로 실행됩니다.뭔가 잘못되면 ed가 유일한 편집자가 될 수 있습니다.인터랙티브하게 사용되는 것은 이 시점뿐인 경우가 많습니다.

GNU에서 제공하는 ed 버전에는 피드백을 강화하기 위한 스위치가 몇 개 있습니다.사용.ed -v -p:는 심플한 프롬프트를 제공하여 보다 [9]유용한 피드백메시지를 활성화합니다.-p스위치는 XPG2(1987)[3] 이후 POSIX에 정의되어 있습니다.

ed 명령어는 다른 행 기반 편집기에서 모방되는 경우가 많습니다.예를 들어 Windows NT의 초기 MS-DOS 버전 및 32비트 버전의 EDLIN은 구문이 다소 비슷하며 많은 MUD(LPMud 및 하위 버전)의 텍스트 편집기는 ed와 유사한 구문을 사용합니다.그러나 이러한 편집자는 일반적으로 기능이 더 제한됩니다.

다음은 ED 세션의 사본 예입니다.알기 쉽게 하기 위해 사용자가 입력한 명령어 및 텍스트는 일반 페이스로 하고 ed로부터의 출력을 강조합니다.

ed는 표준 Unix 텍스트에디터입니다이것은 두 번째 줄입니다. . 2i . .l 이 표준 Unix 텍스트 에디터입니다.$ 여기는 2호선입니다.$3s/2/3/l 이 Unix 텍스트에디터의 표준 사양입니다.$ 여기는 3호선입니다.$ w 텍스트 65 q

최종 결과는 다음 텍스트를 포함하는 단순한 텍스트 파일입니다.

ed는 표준 Unix 텍스트에디터입니다여기는 3호선입니다. 

빈 파일부터 시작했습니다.a명령어는 텍스트를 추가합니다(모든 ed 명령어는 단일 문자임).명령어는 ed를 삽입 모드로 하여 뒤에 오는 문자를 삽입하고 한 줄에 하나의 점으로 끝납니다.도트 앞에 입력된2 행은 파일버퍼에 저장됩니다.2i명령어는 삽입 모드로 전환되며 입력된 텍스트(이 경우 빈 행 하나)를 두 번째 행 앞에 삽입합니다.그 회선상에서 동작하기 위해서, 모든 커맨드에 회선 번호를 붙일 수 있습니다.

줄을 서서.,l소문자 L은 list 명령어입니다.이 경우 명령어 앞에 범위가 붙습니다.,이 방법이 지름길이다1,$범위는 쉼표로 구분된 두 줄 번호입니다.$(마지막 행을 의미합니다.그 대신 ed는 첫 번째부터 마지막까지 모든 행을 나열합니다.이 행들은 달러 기호로 끝나기 때문에 행 끝에 있는 공백이 선명하게 보입니다.

행 2 에 빈 행을 삽입하면, 「This is number 2」라고 하는 행이 실제로는 3 행이 됩니다.이 에러는, 다음과 같이 수정됩니다.3s/two/three/대체 명령어.3는 올바른 행에 적용됩니다.명령어 뒤에 치환할 텍스트가 표시되고 다음으로 치환됩니다.모든 행 목록 표시,l선이 올바른 것으로 표시됩니다.

w text는 버퍼를 "text" 파일에 쓰기 때문에 ed는 파일에 쓴 문자 수인 65자로 응답합니다. qED 세션을 종료합니다.

문화 레퍼런스

GNU 프로젝트는 웹사이트에서 호스팅되는 ed에 관한 많은 농담을 가지고 있다.또, 에러 코드:EDglibc에 정의되어 있습니다.설명(errorstr)을 출력하도록 요구받으면 라이브러리는 단일 물음표를 반환합니다.매뉴얼은 단순히 "경험이 풍부한 사용자는 무엇이 [10]문제인지 알 수 있을 것"입니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Computerphile (2018-07-06), Where GREP Came From – Computerphile, archived from the original on 2021-12-11, retrieved 2020-10-21
  2. ^ a b Salus, Peter H. (2005). The Daemon, the Gnu and the Penguin. Groklaw.
  3. ^ a b ed – 셸 및 유틸리티 레퍼런스, 단일 UNIX 사양, The Open Group 버전 4
  4. ^ 피터 H. 살루스, 데몬, 그누, 펭귄.2장, 3장2005년 4월 14일 목요일 오후 10시 56분 EDT.http://www.groklaw.net/article.php?story=20050414215646742 2015년 10월 29일에 접속.
  5. ^ D.M.리치와 K.L.Thompson, "QED Text Editor", MM-70-1373-3(1970년 6월), "QED Text Editor Reference Manual", MHCC-004, Murray Hill Computing, Bell Laboratories(1972년 10월)"로 전재.
  6. ^ McIlroy, M. D. (1987). A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 (PDF) (Technical report). CSTR. Bell Labs. 139.
  7. ^ a b Donald A. Norman (1981). "The truth about UNIX" (PDF). Datamation.
  8. ^ SQL*Plus를 관리하고 있습니다.https://docs.oracle.com/cd/E11882_01/server.112/e10839/admn_sqlpls.htm#UNXAR166 2016년 7월 23일에 접속.
  9. ^ ed(1)Linux 일반 명령어 매뉴얼
  10. ^ "The GNU C Library - Error Codes". ftp.gnu.org.

외부 링크