首页 > 其他 > 详细

sed 命令

时间:2014-11-30 17:11:51      阅读:316      评论:0      收藏:0      [点我收藏+]

sed 命令:

echo "I am oldboy,my qq is 1234567" >>oldboy.txt

要求:

1、取出oldboy.txt 文件中的oldboy字符串

方法一:

[root@git oldboy]# echo "I am oldboy,my qq is 1234567">oldboy.txt 

[root@git oldboy]# cat oldboy.txt 

I am oldboy,my qq is 1234567

[root@git oldboy]# sed ‘s#^.*m ##g‘ oldboy.txt 

oldboy,my qq is 1234567

[root@git oldboy]# sed ‘s#^.*m ##g‘ oldboy.txt |sed ‘s#,.*##g‘

oldboy

[root@git oldboy]# sed ‘s/^.*m //g‘ oldboy.txt|sed ‘s/,.*//g‘

oldboy

注意:"#"和"/"都是替换的符号

方法二:

[root@git oldboy]# sed ‘s#^.*m \(oldboy\),.*#\1#g‘ oldboy.txt 

oldboy


[root@git oldboy]# sed ‘s#^.*m \(old\)\(boy\),.*#\1#g‘ oldboy.txt    

old

[root@git oldboy]# sed ‘s#^.*m \(old\)\(boy\),.*#\1\2#g‘ oldboy.txt 

oldboy

[root@git oldboy]# sed ‘s#^.*m \(old\)\(boy\),.*#\2#g‘ oldboy.txt   

boy

\ 后面加数字的意思是取出前面括号里面的内容,第一个括号表示1,第二个表示2,以此类推。


要求:

[root@git oldboy]# cat oldboy.txt 

I am oldboy,my qq is 1234567

I am old,but am strong

welcome to test

去除oldboy.txt中含old不含oldboy的行

方法一:

[root@git oldboy]# sed ‘/old[^boy]/d‘ oldboy.txt 

I am oldboy,my qq is 1234567

welcome to test

方法二:

[root@git oldboy]# sed ‘/\<old\>/d‘ oldboy.txt  

I am oldboy,my qq is 1234567

welcome to test

"<>"匹配单个字符

将old不含boy的行替换为www.baidu.com

[root@git oldboy]# sed ‘s#old[^boy]#www.baidu.com#g‘ oldboy.txt 

I am oldboy,my qq is 1234567

I am www.baidu.combut am strong

welcome to test

[root@git oldboy]# sed ‘s#\<old\>#www.baidu.com#g‘ oldboy.txt           

I am oldboy,my qq is 1234567

I am www.baidu.com,but am strong

welcome to test


本文出自 “依痕” 博客,请务必保留此出处http://escaping.blog.51cto.com/7764791/1584658

sed 命令

原文:http://escaping.blog.51cto.com/7764791/1584658

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