天天看点

linux之sed指令

sed(Stream EDitor)流编辑器:行编辑器

sed基本用法:

stream EDitor :sed 只是用来操作纯asci文件

操作asci码行编辑器      全屏编辑器 vi

sed模式空间:内存空间=模式空间指定处理那些行,符合条件来匹配处理

默认不编辑原文件,仅对模式空间中的数据做处理,而后,处理结束后,将模式空间打印至屏幕

1.startline,endline  比如1,100 从1到100行

$:最后一行 

2./regEXP/

/^root/

3./pattern1/,/pattern2/

第一次被pattern1匹配到的行开始,至第一次被pattern2匹配到的行结束,这中间的所有行

4.linenumber 指定的行

5.startline,+N 从startline开始,向后的N行

sed [options]‘addresscommand’ file......

    -n:静默模式,不再默认显示模式空间中的内容

     -i:直接修改原文件

    -e:可以执行多个脚本

    -r:表示使用扩展正则表达式

command: /etc/fstab

d:删除符合条件的行

p:显示符合条件的行

a \string:在指定的行后面追加新行,内容为string

\n:可以用于换行

i \string:在指定的行前面追加新行,内容为string

r file:将指定的文件的内容添加至符合条件的行处

w file:将地址指定范围内的内容另存至指定文件中

s/pattern/string/:查找并替换

   加修饰符 g:全局替换

   i查找时忽略大小写

&:引用模式匹配整个串

sed 1,30d passwd  

sed -n 30p passwd 

sed -n 30,+3p passwd

sed /root/d passwd 

本文转自 周小玉 51CTO博客,原文链接:http://blog.51cto.com/maguangjie/1864177,如需转载请自行联系原作者

继续阅读