首页 > 代码库 > Linux ed

Linux ed

ed 编辑器是 Linux 操作系统下最简单的文本编辑器。它是以行为单位对文件进行编辑的编辑器,而不像 MS-DOS 系统下的 edit 那样是以整个屏幕框架为单位对文件进行编辑的。因此,如果你已经习惯了使用 edit 这种风格的编辑器,那么你可能需要一段时间才能习惯 ed 的风格。但是这并不重要,因为 ed 的简便性可以使你很快上手的。

ed 编辑器的调用很简单,如果你想新建一个文件,那么只需要在命令行窗口中敲入 ed 然后按下回车键即可:
[titan@localhost titan]$ ed <-
如果你想编辑一个已经存在的文件,那么你只要在 ed 的后面空一个,然后敲入文件名即可:
[titan@localhost titan]$ ed filename <-

激活 ed 命令后进入的是 ed 编辑器的命令行状态,这可能使一些初学者有些不习惯,如果你这时候随便敲入一些内容,系统会返回一个 ?,表示不知道你要执行什么任务:
[titan@localhost titan]$ ed <-
abcde <-
?

这时候你要明确几个编辑器命令,它们是:
a - 在文件的末尾添加新内容
i - 在文件的最后一行之前插入新内容
o - 把文件输入的最后一行(不论是原来存在的或者插入的)替换成新内容
. - 退出编辑文件模式进入命令行模式(注意:此时并没有退出 ed 编辑器)
w - 保存文件
q - 真正退出 ed 编辑器

下面我将就着几个命令举例说明一下。
[titan@localhost titan]$ ed <- 激活 ed 命令
a <- 告诉 ed 我要编辑新文件
My name is Titan. <- 输入第一行内容
And I love Perl very much. <- 输入第二行内容
. <- 返回 ed 的命令行状态
i <- 告诉 ed 我要在最后一行之前插入内容
I am 24. <- 将“I am 24.”插入“My name is Titan.”和“And I love Perl very much.”之间
. <- 返回 ed 的命令行状态
c <- 告诉 ed 我要替换最后一行输入内容
I am 24 years old. <- 将“I am 24.”替换成“I am 24 years old.”(注意:这里替换的是最后输的内容)
. <- 返回 ed 的命令行状态
w readme.text <- 将文件命名为“readme.text”并保存(注意:如果是编辑已经存在的文件,只需要敲入 w 即可)
q <- 完全退出 ed 编辑器
[titan@localhost titan]$ 返回到 Linux 系统的命令行状态
这是文件的内容是:
[titan@localhost titan]$ cat readme.text <-
My name is Titan.
I am 24 years old.
And I love Perl vrey much.
[titan@localhost titan]$

因为使用 ed 编辑文件时时看不到文件内容的,而且它不像 MS-DOS 下的 edit 那么灵活,请你在编辑文件是一定要仔细检查输入的内容以保证其正确性,避免反复往返于编辑状态和命令行状态之间,那样会浪费大量的时间。

Linux ed