首页 > 其他 > 详细

sed命令学习

时间:2016-03-28 20:13:09      阅读:200      评论:0      收藏:0      [点我收藏+]

sed命令是轻量级流编辑器,主要用来将数据进行选取、替换、删除、新增的命令

sed [选项]  ‘[动作]’  文件名

选项:

— -n: 一般sed命令会把所有数据都输出到屏幕上,如果假如此选择,则只会把经过sed命令处理的行输出到屏幕

— -e:允许对输入的数据应用多条sed命令编辑

— -i:用sed的修改结果直接修改读取数据的文件,而不是由屏幕输出。

动作:

— a:追加,在当前行后添加一行或多行

— c:行替换,用c后面的字符串替换原数据行

— i:插入,在当前行前插入一行或多行。

— d:删除,删除指定的行

— p:打印,输出指定的行

—s :字符替换,用一个字符串替换另外一个字符串。格式为:“行范围s/旧字符串/新字符串/g” (和vim中的替换格式类似)(如果不加g,表示只对第一个有效,不管后面出现的)

测试数据:

技术分享

1.打印第二行

[root@myfuture ~]# sed 2p student.txt 
ID    Name    gender    Mark
1    furong    F    85
1    furong    F    85
2    fengj    F    60    
3    cang    F    70

加入-n参数

[root@myfuture ~]# sed -n 2p student.txt 
1    furong    F    85

2.删除第二行:

[root@myfuture ~]# sed 2d student.txt
ID    Name    gender    Mark
2    fengj    F    60    
3    cang    F    70

3.删除第二行和第四行之间的内容

[root@myfuture ~]# sed 2,4d student.txt
ID    Name    gender    Mark

4.在第二行后追加数据

[root@myfuture ~]# sed 2a piaoliang jiushi renxing  student.txt
ID    Name    gender    Mark
1    furong    F    85
piaoliang jiushi renxing
2    fengj    F    60    
3    cang    F    70

第二行前添加数据

[root@myfuture ~]# sed 2i meinv student.txt
ID    Name    gender    Mark
meinv
1    furong    F    85
2    fengj    F    60    
3    cang    F    70

5.数据替换

[root@myfuture ~]# sed 2c furong bu ji ge student.txt
ID    Name    gender    Mark
furong bu ji ge
2    fengj    F    60    
3    cang    F    70

第三行的60替换为90

[root@myfuture ~]# sed 3s/60/99/g student.txt
ID    Name    gender    Mark
1    furong    F    85
2    fengj    F    99    
3    cang    F    70

将修改直接写入文件

[root@myfuture ~]# sed -i 3s/60/99/g student.txt
[root@myfuture ~]# cat student.txt
ID    Name    gender    Mark
1    furong    F    85
2    fengj    F    99    
3    cang    F    70

同时把fengj和cang替换为空,加入-e

技术分享

 

sed命令学习

原文:http://www.cnblogs.com/XYJK1002/p/5330355.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!