sed是流编辑器,一次处理一行,不改变原文件。处理的行放入缓存区(模式空间),完成处理后,显示在屏幕,再移出缓存区,继续处理下一行,直到最后。


显示匹配

sed -n '/sam/p' testfile    #显示匹配sam的行,-n只显示匹配到的行


删除匹配

sed '3,$d' testfile    #删除第三至最后一行
sed '/sam/d' testfile    #删除匹配sam的行


匹配替换

sed -n 's/sam/tom/g' testfile    #替换sam为tom,不加g只替换每一行中的第一个
sed -n 's/[0-9][0-9]$/&.00/' test    #结尾是2个数字如22,替换为22.00,&表示前面的22


多点编辑

sed -e '1,3d' -e 's/sam/tom/g' testfile    #删除1-3行,再替换


插入行

sed '2 aok' a.txt    #在a.txt第二行后插入ok
sed '2 iok' a.txt    #在a.txt第二行前插入ok
sed '/hello/aok' a.txt    #在a.txt中hello后插入ok