sed基本用法:

sedstream ED itor 流编辑器

行编辑器(全屏编辑器:vi

 

sed:模式空间

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

sed [options] AddressCommand file ...

     命令    范围   动作   操作文件

 

    命令:

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

-i  :直接修改源文件

-e  SCRIPT  -e  SCRIPT :可以同时执行多个脚本

-f  /PATH/TO/SED_SCRIPT

    sed -f /path/to/scripts  file    将脚本文件对file文件进行处理

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

 

Address:  (范围)

1、Startline,Endline

   如1,100   1行到100

   $:最后一行

   $-1  :倒数第二行

2、/RegExp/  (模式,正则表达式指定的模式)

   如:/^root/

3、/pattern1//pattern2/

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

4、LineNumber

   指定的行

5、startLine,+N

   从StartLine开始,向后的N行

删除12

删除第几行到第几行

删除含有oot的行

删除第一行至2行后的行

只显示以/开头的行:

在以/开头的行后面添加一行,内容为# hello world

加两行

/etc/issue文件内容读到文件/etc/fstab中的第二行后

/etc/issue文件内容读到文件/etc/fstab中的最后一行中(合并两个文件内容)

将含有oot的行保存到/tmp/oot.txt文件中

oot换成大小的OOT

全局替换

@为分割符

 

history中的每一行的空格符都删除

7、取出一个文件路径的目录名称

   # echo "/etc/rc.d/linux/mpd" |sed -r 's/^(\/.*\/)[^/]*/\1/g'