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 '2,$d' ddp.txt 删除第二行到末尾的所有行
三. sed '$d' ddp.txt 删除最后一行
四. sed '/11111/'d ddp.txt删除所有包涵11111的行
五. sed 's/11111/ddd/g' ddp.txt-----在整行范围内把11111替换为ddd。如果没有g标记,则只有每行第一个匹配的11111被替换成ddd。
六. sed -n 's/^11111/ddd/' ddp.txt-----(-n)选项和p标志一起使用表示只打印那些发生替换的行。也就是说,如果某一行开头的11111被替换成ddd,就打印它。
七. sed 's/^11111/&ddd/' ddp.txt-----&符号表示替换换字符串中被找到的部份。所有以11111开头的行都会被替换成它自已加ddd,变成11111ddd
sed 's/11111$/&ddd/' ddp.txt-----&符号表示替换换字符串中被找到的部份。所有以11111结尾的行都会被替换成它自已加ddd,变成11111ddd
八. sed -n 's/¥(aaa¥)a/¥1ee/p' ddp.txt-----aaa被标记为1,所有aaaa会被替换成aaaee,而且替换的行会被打印出来
九.sed -e '1d' -e '3d' ddp.txt-----(-e)选项允许在同一行里执行多条命令,此命令表示删除第一行和第三行
十.sed -i '1d' ddp.txt-----(-i)选项表示删除文本里的内容,删除后不会显示