ed 编辑器是 Linux 操作系统下最简单的文本编辑器。它是以行为单位对文件进行编辑的编辑器,而不像 MS-DOS 系统下的 edit 那样是以整个屏幕框架为单位对文件进行编辑的。
ed 新建一个文件
ed filename 编辑一个已经存在的文件
ed 分为命令方式和输入方式两种状态。
从输入方式返回到命令方式:在一个空行的行首键入“.”,然后按回车键。 ed 命令的一般格式为:[行号1,行号2] 命令字 [参数] ed 的大部分命令均为单个小写字母。
激活 ed 命令后进入的是 ed 编辑器的命令行状态 ,如果键入的命令不正确,系统会返回一个?,表示不知道你要执行什么任务。
[n] a 附加文件命令(a)
其中n是行号 ,a 命令可以跟在行号 n 的后边, 表示在第n行之后开始附加,
如果不指定行号,就是在文件的末尾添加新内容。
[n] i 插入命令 (i)
当指定行号时,i 命令在那行之前插入,在一个新建的文件中, 没有指定行号时,是在文件的最后一行之前插入新内容, 在一行也没有的情况不能使用 i 命令。
[n1,n2] c 更改命令(c)
ed 用新输入的文本取代由 n1 和 n2 确定的若干行范围内原有
的文本。如未指定行则替换当前行。
[n1,n2] p 按行号寻址命令
p 命令可省略,直接输入行号,指针跳转到指定行号。
其中“.”代表当前行号,“$”代表最后一行,“,”代表全部文本,
“;”代表从当前行到最后一行的所有文本。
/指定字符串/ 字符串寻址 ?指定字符串? 字符串寻址
g/字符串/ 对所有包含指定字符串的行进行指定命令操作。 v/字符串/ 对所有不包含指定字符串的行进行指定命令操作。 [n1±n,n2±n] 相对寻址
相对于n1加减 n 行到相对于n2加减 n 行的范围执行指定命令操作。
[n1,n2] n 带行号显示文本(n)
[n1,n2] d 删除文本(d)
u 恢复命令(u)
[n1,n2]s/旧文本/新文本/[参数] 替换文本(s) 参数内容:
g :替换指定行内的所有旧文本,当某行文本包括两个以上旧文本时,若不用此参数,则只替换头一个。
l :将被替换行的内容连同不可见的字符都显示出来。对于有汉字的行使用这个参数将显示乱码。
p :将被替换的最后一行显示出来。
n :将被替换的最后一行连同行号一同显示出来。
上述四个参数中,g 命令可以与其他三个组合使用。其功能就是二者的迭加。但 g 参数与其他参数合用时必须 g 在前面。
在查找、替换命令中时的通配符: . :代表任意一个字符
* :代表任意多个相同字符 .* :代表任意多个任意字符
\\ 转义字符(\\) 使特殊字符失去意义。
[n1,n2] m n3 移动若干行文本(m)
[n1,n2] t n3 拷贝若干行文本(t)
[n1,n2] j 将两行连接成一行
w [filename] 存盘(w)
将文件命名为filename并保存.
(注意:如果是编辑已经存在的文件,只需要敲入 w 即可)
q 退出(q) 若未存盘,会提示。
Q 不保存退出(Q)