Can you summarize the following document?
        
  ed文字編輯器是Unix作業系統最初的三個要件之一:彙編器、編輯器和shell,它們是Ken Thompson在1969年8月於AT&T貝爾實驗室在PDP-7上開發的。ed的很多特徵來自qed文字編輯器,它是Thompson的母校加州大學伯克利分校開發的 。Thompson非常熟悉qed,曾經在CTSS和Multics系統上重新實現過它。Thompson版本的qed曾因首先實現了正規表示式而著名。正規表示式也實現於ed中,儘管相比qed中的這裡實現的要相當不具一般性。  Dennis M. Ritchie生產了後來Doug McIlroy所描述的“終極”ed,ed的各方面轉而影響了ex,它依次又產生了vi。非互動式Unix命令grep受到qed和後來的ed常見特定用法的啟發,它們的命令g/re/p含義是全域性查詢正規表示式re並列印包含它的行。Unix流式編輯器sed實現了未被Unix上的ed所支援的qed的很多指令碼特徵。

  ed的特徵包括:  著稱於它的簡潔性,ed幾乎不給予視覺反饋,故而曾被Peter H. Salus稱為“曾有過的最仇視使用者的編輯器”,即使是比較於同時代的(因複雜而聲名狼藉的)TECO (文字編輯器)。例如,在有錯誤的情況,或它想要確認使用者希望不儲存退出的時候,ed產生的訊息就是“?”。它不報告當前檔名或行號,甚至不顯示變更文字的結果,除非發出要求。更老版本(大約1981年)在發起退出命令而使用者沒有儲存變更的時候甚至不提示確認。這種簡潔性對Unix的早期版本是適當的,那時控制檯是電傳打字機,調變解調器很慢,而記憶體是珍貴的。計算機技術進步使得這些限制解除了,有更多視覺反饋的編輯器成為常規。  在當前實踐中,ed極少互動式使用,但卻在一些shell指令碼中有所使用。對於互動式使用,ed於1980年代被sam、vi和Emacs編輯器取代。ed事實上可以在所有可獲得的Unix和Linux版本上找到,因此對必須在多個版本Unix上工作的人有用。在基於Unix的作業系統上,一些實用工具如SQL Plus執行ed作為編輯器,如果EDITOR和VISUAL環境變數沒有定義的話。如果在故障的情況下,ed有時是唯一可獲得的編輯器。這幾乎是它互動式使用的唯一時刻。  ed命令在其他基於行的編輯器中經常被模仿。例如,在早期版本的MS-DOS和32-bit版本的Windows NT中,EDLIN有某種程度上類似的語法,在很多MUD(LPMud和後代)中的文字編輯器使用類似ed的語法。但是這些編輯器典型的在功能上更加有限。

  下面是一個ed會話的例子抄錄。為了清晰,命令和使用者鍵入的文字使用正常字型,而來自ed的輸出被加粗。  最後結果是包含下列文字的一個簡單文字檔案:  開始於一個空檔案,codice_1命令附加文字,所有ed命令都是單一字母。這個命令安置ed進入“插入模式”,插入隨後的字元,並由只有一個單一的點的行終止。在此點終止前鍵入的兩行進入檔案緩衝區。codice_2命令也進入插入模式,並在第2行之前插入鍵入的文字,這裡是空行。所有命令都可以字首一個行號來在此行上進行操作。  在行codice_3中,l表示列表命令。這個命令字首著一個範圍,這裡是codice_4,它是codice_5的簡寫。範圍是由逗號分隔的兩個行號,codice_6意味著最後一行。作為迴應,ed列出所有行,從最先至最後。這些行用美元號終結,所以在行尾的空白明顯可見。  一旦空行被插入到第2行前,讀作“This is line number two”的行,現在實際上是第3行。這個錯誤使用codice_7命令來更正,這是替換命令。codice_8指定應用這個命令的那個行;隨後是要被替換的文字,接著是要替代成的文字。現在用codice_3命令列出的行是正確的了。  codice_10命令寫緩衝區到檔案“text”,使得ed用“65”來響應,這是寫到檔案中的字元數目。codice_11命令結束ed會話。
ed是用於Unix和類Unix作業系統的行編輯器。它是Unix作業系統在1969年8月開發出來的最初部分。它仍舊是POSIX和Open Group的基於Unix的作業系統標準的一部分,與更加完備的全螢幕編輯器vi並列。