sed是一种流编辑器,它一次处理一行内容。 处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”, 接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。 接着处理下一行,这样不断重复,直到文件末尾。 文件内容并没有改变,除非你使用重定向存储输出。
sed [选项参数] ‘command’ filename
-e 直接在指令列模式上进行sed的动作编辑。
a 新增,a的后面可以接字串,在下一行出现
d 删除
s 查找并替换
数据准备
touch sed.txt
vim sed.txt
dong shen
guan zhen
wo wo
lai lai
le le
将“he he”这个单词插入到sed.txt第二行下,打印。
sed '2a he he' sed.txt
dong shen
guan zhen
he he
wo wo
lai lai
le le
cat sed.txt
dong shen
guan zhen
wo wo
lai lai
le le
注意:文件并没有改变
删除sed.txt文件所有包含wo的行
sed '/wo/d' sed.txt
dong shen
guan zhen
lai lai
le le
将sed.txt文件中wo替换为ni
sed 's/wo/ni/g' sed.txt
dong shen
guan zhen
ni ni
lai lai
le le
注意:‘g’表示global,全部替换
将sed.txt文件中的第二行删除并将wo替换为ni
sed -e '2d' -e 's/wo/ni/g' sed.txt
dong shen
ni ni
lai lai
le le