ed 是 Linux下的一个简单的文本编辑器。它有两个状态:命令状态和编辑状态。前者接收输入的ed命令也是默认启动状态,后者对文件以行为单位进行编辑.
*新建文件test_ed方法1:
$ ls
$ ed test_ed
test_ed: No such file or directory //<==此处是输出,表示一个不存在的文件。
w
0 //<==此处是输出,表示写了0个字符。
q
$ ls
test_ed //<==此处是输出,可见多了一个新的空文件。
*新建文件test_ed2方法2 :
$ ls
test_ed2 //<==此处是输出,只有刚才新建的文件。
$ ed
w
? //<==此处是输出"?"表示有问题,或命令不识别或别的,此处是缺少文件名。
w
? //<==此处是输出,同上。
w test_ed
0 //<==此处是输出,表示写了0个字符。
q
$ ls
test_ed test_ed2 //<==此处是输出,可见多了一个新的空文件test_ed2。
*新建test_ed3并编辑方法3:
$ ed
a //<==输入a告诉 ed 我要编辑新文件
My name is Tiger. //<==输入第1行内容
And I love ed very much. //<==输入第2行内容
. //<==输入.返回 ed 的命令行状态
w test_ed3 //<==输入,将文件命名为“test_ed3”保存(如果已存在文件,只需要敲入 w否则会覆盖)
72 //<==这里是输出,表示写入的字符数。
q //<==输入q完全退出 ed 编辑器
**编辑已存在的文件:
$ ed test_ed
0 //<==此处是输出,表示读了0个字符。默认进入的是命令状态,可输入“a/i/o”命令进行编辑文件
a //<==在文件的末尾添加新内容。
. //<==退出编辑文件模式进入命令行模式(注意:此时并没有退出 ed 编辑器)。
w //<==保存文件,如果指定一个名称表示另存为的意思,这就不改变当前文件了。
q //<==退出 ed 编辑器,如果没有w则提示?,再次q就非保存退出了。
常用的命令:
a //<==进入编辑状态: 在文件的末尾添加新内容。
i //<==进入编辑状态: 在文件的最后一行之前插入新内容。
o //<==进入编辑状态: 把文件输入的最后一行(不论是原来存在的或者插入的)替换成新内容。
. //<==退出编辑状态: 文件模式进入命令模式(注意:此时并没有退出 ed 编辑器)。
c //<==输入c告诉 ed 我要替换最后一行输入内容
1,$s/x.x/NNN/g //*将所有的 x.x 修改成 NNN
1,$p //*打印从1-最后行
1,Np //*打印从1-N行
%p //*打印所有行
%n //*打印所有行并且显示行号
.p //*打印当前行
.n //*打印当前行并且显示行号
3 //*跳到第3行
+ //*显示并切换到下一行、下两行则++
- //*显示并切换到上一行、上两行则--
q //*退出, 这里如果没有保存则第一次退不出去,再q就退出但没有保存
Q //*强制退出, 不会保存