LinuxLinux学习之路Linux系统

Linux实用工具-ed行命令编辑器

2020-09-20  本文已影响0人  QuietHeart

ed 编辑器是 Linux 操作系统下最简单的文本编辑器。它是以行为单位对文件进行编辑不像 MS-DOS 系统下的 edit 那样是以整个屏幕框架为单位对文件进行编辑的。

ed编辑器有两个状态:

下面开始学习。

新建一个文件testNew

方法1,先指定文件名

输入过程如下:

$ls
$ed testNew
testNew: No such file or directory <==此处是输出,表示一个不存在的文件。
w
0 <==此处是输出,表示写了0个字符。
q
$ ls
testNew <==此处是输出,可见多了一个新的空文件。

这里, w 表示写命令, q 退出,后面会提到。如果没有 w 那么 q 之后也不会建立新的文件。

方法2,写时再指定名字

输入过程如下:

$ls
testNew <==此处是输出,只有刚才新建的文件。
$ed
w
? <==此处是输出,?表示有问题,或命令不识别或别的,此处是缺少文件名。
w
? <==此处是输出,同上。
w testNew2
0 <==此处是输出,表示写了0个字符。
q
$ls
testNew testNew2 <==此处是输出,可见多了一个新的空文件testNew2。

这里,因为是一个新文件,所以如果一直 w 且没输入文件名的话,会一直提示,直至你指定了一个文件名。如果在 w testNew2 之前按 q 将直接退出,这样也不会建立这个新文件了。

编辑已存在的文件

编辑文件 testNew

$ed testNew
0 <==此处是输出,表示读了0个字符。

这里,默认进入的是命令状态,你可以输入任何命令进行编辑文件。按 q 退出。

命令行状态常用命令

新建一个文件并编辑的流程举例

键入ed命令

$ed

输入之后,我们进入交互界面。

编辑内容

其中我们键入如下命令(每行命令都伴有解释):

a <==输入a告诉 ed 我要编辑新文件
My name is QuietHeart. <==输入第1行内容
And I love ed very much. <==输入第2行内容
. <==输入.返回 ed 的命令行状态
i <==输入i告诉 ed 我要在最后一行之前插入内容
I am 25. <==输入,将“I am 25.”插入“My name is ...”和“And I love...”间.
. <==输入.返回 ed 的命令行状态
c <==输入c告诉 ed 我要替换最后一行输入内容
I am 25 years old. <==输入,将“I am 25.”替换成“I am 25 years old.”
.w <==输入,一个误操作,结果成了输入了。
q <==输入,由于前面一个误操作,结果成了输入了。
. <==输入.,这才返回 ed 的命令行状态,而不是前面.w
w testNew <==输入,将文件命名为“testNew”保存(如果已存在文件,只需要敲入 w否则会覆盖)
72 <==这里是输出,表示写入的字符数。
q <==输入q完全退出 ed 编辑器

查看结果

下面,我们来看看刚刚新建的文件的内容:

$cat testNew

输入之后,输出如下:

My name is QuitHeart.
I am 25 years old.
.w
q
And I love ed very much.

这里,我几乎都用到了前面给出的常用命令,我们可以了解 ed 最最简单的使用了,后面再说一些其它实用的命令。

常用的命令

打印所有行

%p

打印所有行并且显示行号

%n

打印当前行

.p

打印当前行并且显示行号

.n

跳到第3行

3

显示并切换到下一行

+

下两行则 ++

显示并切换到上一行

-

上两行则 --

退出

q

这里如果没有保存则第一次退不出去,再q就退出但没有保存。

强制退出

Q

不会保存。

上一篇 下一篇

猜你喜欢

热点阅读