什么是 ed?
ed 是 Unix 和类 Unix 系统中最早的行编辑器之一,由 Ken Thompson 于 1969 年开发。它虽不如现代编辑器(如 Vim 或 Emacs)直观,但因其极简、高效和可脚本化的特点,至今仍在某些自动化任务中被使用。
“ed翻译”并非指将 ed 本地化为中文,而是对 ed 命令、文档及使用方式的中文解释与教学。
基本命令速查
a:在当前行后追加文本i:在当前行前插入文本c:替换当前行d:删除当前行p:打印当前行w 文件名:将内容写入文件q:退出 edQ:强制退出(不保存)
提示:ed 默认不显示任何提示符,输入错误时仅返回 ?。
简单使用示例
以下是在终端中使用 ed 创建一个名为 hello.txt 文件的流程:
$ ed
a
Hello, this is ed!
This is line two.
.
w hello.txt
q
说明:a 进入追加模式,输入内容后以单独一行的 . 结束,w 写入文件,q 退出。
为什么学习 ed?
- 理解 Unix 哲学:“小而专”的工具组合
- 在极简环境(如救援系统)中仍可编辑文本
- 提升对正则表达式和行编辑逻辑的理解
- 是 sed、ex、vi 等工具的祖先
虽然日常开发中很少直接使用 ed,但了解它有助于深入理解 Unix 工具链的演化。
趣味知识
著名计算机科学家 Brian Kernighan 曾在论文《Why Pascal is Not My Favorite Programming Language》中调侃:“ed 的用户界面设计哲学是——如果你不知道怎么用,那就别用。”
这也催生了后来更友好的编辑器如 ex 和 vi。