sed简介

sed是一种在线编辑 器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。以下介绍的是Gnu版本的Sed 3.02。

调用sed命令有两种形式:

sed [options] 'command' file(s)

sed [options] -f scriptfile file(s)    { -f, --filer=script-file

引导sed脚本文件名 }

 


一. sed   '2d' ddp.txt 删除第二行

sed介绍与使用_shell

二. sed '2,$d' ddp.txt 删除第二行到末尾的所有行

sed介绍与使用_sed_02

 

三.   sed '$d' ddp.txt 删除最后一行

sed介绍与使用_sed_03

 

四. sed '/11111/'d   ddp.txt删除所有包涵11111的行

sed介绍与使用_shell_04

 

五. sed 's/11111/ddd/g' ddp.txt-----在整行范围内把11111替换为ddd。如果没有g标记,则只有每行第一个匹配的11111被替换成ddd。

sed介绍与使用_shell_05

 

六. sed -n 's/^11111/ddd/' ddp.txt-----(-n)选项和p标志一起使用表示只打印那些发生替换的行。也就是说,如果某一行开头的11111被替换成ddd,就打印它。

sed介绍与使用_shell_06

 

七. sed 's/^11111/&ddd/' ddp.txt-----&符号表示替换换字符串中被找到的部份。所有以11111开头的行都会被替换成它自已加ddd,变成11111ddd

        sed 's/11111$/&ddd/' ddp.txt-----&符号表示替换换字符串中被找到的部份。所有以11111结尾的行都会被替换成它自已加ddd,变成11111ddd

sed介绍与使用_sed_07

八. sed -n 's/¥(aaa¥)a/¥1ee/p' ddp.txt-----aaa被标记为1,所有aaaa会被替换成aaaee,而且替换的行会被打印出来

sed介绍与使用_sed_08

 

九.sed -e '1d' -e '3d' ddp.txt-----(-e)选项允许在同一行里执行多条命令,此命令表示删除第一行和第三行

sed介绍与使用_sed_09

 

十.sed -i '1d' ddp.txt-----(-i)选项表示删除文本里的内容,删除后不会显示                            

sed介绍与使用_shell_10