文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>sed学习

sed学习

时间:2010-05-23  来源:wcw

1,&
表示在当前插入一下文本

localhost test # cat tmp
hello world
 
localhost test # sed 's/hello/& the whole/1' tmp
hello the whole world


2,指定替换第几次匹配文本
上面例子中
sed 's/hello/& the whole/1' tmp
最后的1表示的就是“替换第一次匹配的文本”,同理,2的话就是匹配第2次

3,n
不打印模式空间的最后内容

localhost test # cat tmp
hello world

hi

localhost test # cat sed.sc
#n
/hi/p
localhost test # sed -f sed.sc tmp
hi

上面例子是打印出包含hi的行。可以用一句话来表示:sed -n '/hi/p' tmp

4, !
表相反

localhost test # cat tmp
hello world
hi
localhost test # sed -n '/hi/p' tmp
hi
localhost test # sed -n '/hi/!p' tmp
hello world


5,指定行号

localhost test # sed -n '2p' tmp
hi
localhost test # sed -n '1,2p' tmp
hello world
hi
localhost test # sed -n '0,2p' tmp
sed: -e expression #1, char 4: invalid usage of line address 0

localhost test # cat tmp
hello world
hi
mi

localhost test # sed '/h/,/i/ s/h/y/g' tmp
yello world
yi

mi

注意行号是从1开始的,最后一句的替换范围是“第一次包含h的行”和“之后第一次包含i的行”之间,也就是说先匹配包含h的行,成功后从下一行开始再匹配i的行

6, $
最后一行

localhost test # sed -n '$p' tmp
hi


7,注意前后的null字符

localhost test # echo abc | sed 's/b*/1/'
1abc
localhost test # echo abc | sed 's/b*/1/g'
1a1c1


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载