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