Chinaunix首页 | 论坛 | 博客
  • 博客访问: 313140
  • 博文数量: 75
  • 博客积分: 1956
  • 博客等级: 上尉
  • 技术积分: 862
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-21 15:36
文章分类

全部博文(75)

文章存档

2018年(1)

2012年(3)

2011年(19)

2010年(1)

2009年(1)

2008年(50)

分类: LINUX

2008-06-18 09:36:43

刚刚才发觉,真的很好用。。
[转贴1]
基本应用:
1,$n             打印文件内容,并加行号信息
n                到第n行(n为数字)
n                显示当前行的内容(n为字符)
d                删除该行
/xx/             查找xx
?xx?             反向查找xx
//               查找下一个
s/str1/str2/     当前行中替换str1为str2
ns/str1/str2/    在第n行中替换str1为str2
a,c,i            在当前行操作(a:在行后添加  c:修改行内容 i:在行前插入)
命令参数:
ed file
出错时,h提供简单帮助信息,H提供详细帮助信息,用a,c,I进入输入方式,在单独一行上用,回到命令格式保存文件w.   Wq =x
p  .p 显示当前行
=  显示当前行的行号
np  显示第n 行
1,6p  显示1-6行
$p   显示最后一行
1,$p显示所有行
+  显示下一行
- 显示上一行
n  显示当前行及行号
nn  显示第n行及行号
x,yn  显示x—y行及行号
l   显示当前行包括非打印字符
d   删除当前行
u   取消最后命令
s /str1/str2   用 str2 取代str1
s/str1//    删除str1
2s/str1/str2/n   第2 行的str1改为str2并显示修改后的行
s/str1/str2/g   全程替换
,m
2,4m6    第2—4行移到第6行之后
t 块拷贝格式同m
r file  将文件读到当前行后
, w file   写块到文件
!cmd   执行shell命令
/模式/   正向查找命令
?模式?反向查找命令
//  继续找第2个
g/the/p   全程查找并显示
g/the/s/the/that/   全程查找the并用that代替the
v与g命令相反
v/the/n   全程查找不包含the 并显示
无字符
^代表行首   $行尾    .任意字符   *任意多个与前面相同字符
/A….B/   以A开关B结尾中间3个任意
. s/. /.     第1个 . 当前行
         第2 个 . 任意字符
         第3个 . 字符
s/xx*/y/   用y代替2个或2个以上的x
s/x*y/y/   用y代替以x开头以y结束的所有字符
&代表第1个模式内容
/模式1/(模式1)/=/模式1/(&)/
[xz]表示x或z
[0-9]表示0-9的任意数字

###############################################################################
[转贴2]

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 那么灵活,请你在编辑文件是一定要仔细检查输入的内容以保证其正确性,避免反复往返于编辑状态和命令行状态之间,那样会浪费大量的时间。


阅读(1220) | 评论(0) | 转发(0) |
0

上一篇:统计ARP包的小工具

下一篇:sed 学习

给主人留下些什么吧!~~