文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>sed学习笔记(四)--常用命令

sed学习笔记(四)--常用命令

时间:2007-12-20  来源:kinwin

sed使用较多的命令

#   注释

q [exit-code]   立刻退出,退出状态码由exit-code指示。退出之前会将当前pattern space中的内容输出(无n选项)。exit-code 是GNU扩展。

d   删除当前pattern space中的内容,立刻开始下一循环

p   打印当前pattern space中的内容。一般与n选项联合使用。

n   未加n选项的情况下,打印当前pattern space中的内容,然后读入下一行到pattern space

{}   当一组命令的作用地址范围相同时,可用{}将之括为命令组,提升效率。

但是sed中使用最多的还是s

s/regexp/replacement/flags

replacement可含有\1,\2等等,用来表示regexp相应的()部分。

replacement可含有&,用以替换整个regexp

replacement部分的GNU扩展

\U   将跟于其后的字符串大写,直到遇到\L或\E

\u   仅将他后面的字符大写

\L,\l同上。

\E   停止\U,\I引起的case convertion。

例:

$ cat test
Just a test
kinwin@ustc-king:~
$ sed -r 's/te.*/\Uhello/' test
Just a HELLO
kinwin@ustc-king:~
$ sed -r 's/te.*/\uhello/' test
Just a Hello
kinwin@ustc-king:~
$ sed -r 's/te.*/\Uhel\Elo/' test
Just a HELlo

s命令中的flags

g   作用于所有的匹配,在我的GNU sed上是默认的。

number   作用于找到的n th match

p   打印替换后的pattern space内容。

w filename 将替换后的行写入文件。GNU 扩展允许写入/dev/stdout和/dev/stderr

e    将替换后的当前pattern space作为shell命令执行,执行后结果再放回pattern space.

例:

$ cat new
date kinwin
kinwin@ustc-king:~
$ sed -n 's/kin.*//pe' new
date
kinwin@ustc-king:~
$ sed -n 's/kin.*//ep' new
2007年 12月 20日 星期四 10:51:23 CST
$ sed  's/kin.*//pe' new
date
2007年 12月 20日 星期四 10:52:21 CST

I
i   忽略大小写

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

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载