sed是用来处理stdin输入的资料,能够对资料进行取代、插入、删除、字符串替换。

    usage:sed [-neifr] [动作]

选项与参数:

    -n:使用安静模式,只有sed处理过的资料会被现实在屏幕上;

    -e:直接在命令行模式上进行sed的动作编辑;

    -f:将sed的动作写进文件,然后使用sed -f filename来执行sed的动作;

    -r:设置sed支持扩展正则表达式,预设sed只能支持标准正则表达式;

    -i:直接修改文件内容,不显示在屏幕上;

[动作]:[n1[,n2]]function

    n1,n2表示动作执行的行数,如sed  '2,5d' filename 删除2至5行

    function:

    a:新增,后面接要新增的字符串如sed '5a hello' filename,在第5行后新增一行hello,如果不指定行

          数,则会在每一行后都新增一行;

    c:取代,后面接取代的字符串,如 sed '2,5c replace nu 2-5' filename;将2-5行取代为replace nu 2-

          5

    p:列印,将指定的资料显示在屏幕上,如:sed '2,8p' filename;将2-8行在屏幕上显示出来,通

           要与-n配合使用;

    d:删除,删除指定的行,如:sed '2,4d' filename; 删除2到4行

    i:插入,后面接要插入的字符串,如:sed '5i hello' filename;在第5行之前插入一行hello

    s:取代,取代特定的字符串,不是正行取代与c的区别,可使用正则表达式;

示例:

    sed '2,$d' filename;删除第2行至尾行,符号$表示尾行;

    sed '/^$/d' filename;删除空行;

    sed -n '/hello/p' filename;将包含hello的行显示在屏幕上,相当于grep 'hello' filename;

        hello可用正则表达式替代,如:sed -n '/go\{2,\}/p' filename;

    sed 's/hello/hi/g' filename;将文件中的hello替换成hi,关键字为 sed 's/..../..../g';