AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > Linux

Sed编辑器

51自学网 http://www.wanshiok.com

原帖及讨论:http://bbs.bccn.net/thread-208986-1-1.html

[gxlinux@localhost ~]$ cat sed
1.line one.
2.the second line.
3.the third.
4.this is line four.
5.five
6.this is the sixth sentence.
7.this is line seven.
8.eight and last.
[gxlinux@localhost ~]$ sed '/last/ p' sed #正则表达式
1.line one.
2.the second line.
3.the third.
4.this is line four.
5.five
6.this is the sixth sentence.
7.this is line seven.
8.eight and last.
8.eight and last.
[gxlinux@localhost ~]$ sed '/last/ p' sed -n
8.eight and last.
[gxlinux@localhost ~]$ sed '3,6 p' sed -n
3.the third.
4.this is line four.
5.five
6.this is the sixth sentence.
[gxlinux@localhost ~]$ sed '3,6 !p' sed -n
1.line one.
2.the second line.
7.this is line seven.
8.eight and last.
[gxlinux@localhost ~]$ sed '$ p' sed -n
8.eight and last.
[gxlinux@localhost ~]$ sed '3 q' sed
1.line one.
2.the second line.
3.the third.
[gxlinux@localhost ~]$ cat>print3
3,6 p
[gxlinux@localhost ~]$ sed -n -f print3 sed
3.the third.
4.this is line four.
5.five
6.this is the sixth sentence.
[gxlinux@localhost ~]$ cat zhiling
/one/ i/
first
/second/ a/
two
3,4 c/
gxl
linux
s/last/fedora/
[gxlinux@localhost ~]$ sed -f zhiling sed
first
1.line one.
2.the second line.
two
gxl
linux
5.five
6.this is the sixth sentence.
7.this is line seven.
8.eight and fedora.
[gxlinux@localhost ~]$ sed 's/last/fedora/p' -n sed
8.eight and fedora.
[gxlinux@localhost ~]$ sed 's/last/fedora/w temp' sed
1.line one.
2.the second line.
3.the third.
4.this is line four.
5.five
6.this is the sixth sentence.
7.this is line seven.
8.eight and fedora.
[gxlinux@localhost ~]$ cat temp
8.eight and fedora.

[gxlinux@localhost ~]$ cat>zhiling
2,$g #从第二行开始处理,将一个换行符和hold区中的内容追加到pattern区中之后(h与g相反,x交换pattern区与hold区内容)
h
$!d #不是最后一行 删除
#所有命令都是工作在pattern区,并且是一行一行的处理,读取一行到pattern区然后将pattern区中的内容显示出来
#读取第一行到pattern区,将pattern区中的内容复制到hold区,删除pattern区内容(hold区中为第一行)
#读取第二行到pattern区,将一个换行符和hold区中的内容追加pattern区中,然后将其存储到hold区中,删除pattern区内容(hold区中为第二行加第一行)
#读取第八行到pattern区,将一个换行符和hold区中的内容追加pattern区中,然后将其存储到hold区中(此时pattern区内容就是倒过来的了,然后输出)
[gxlinux@localhost ~]$ sed -f zhiling sed
8.eight and last.
7.this is line seven.
6.this is the sixth sentence.
5.five
4.this is line four.
3.the third.
2.the second line.
1.line one.

[gxlinux@localhost ~]$ cat>zhiling
h #将pattern区中的内容复制到hold区中,hold区中原有内容丢失
n #跳过,读取下一行
p
g #与h指令相反
p
#首先读入一行并将它存入到hold区,然后读入下一行并显示,再获取先前的行并显示它,接着处理后续两行
[gxlinux@localhost ~]$ sed -nf zhiling sed
2.the second line.
1.line one.
4.this is line four.
3.the third.
6.this is the sixth sentence.
5.five
8.eight and last.
7.this is line seven.

 

 

 
上一篇:Linux Data Structures(Linux数据结构)  下一篇:find命令简述