十四、shell编程三剑客(2)sed
1.前言
sed也叫流编辑,是一种在线的、非交互的编辑器,他一次成立一行内容。处理时,把当前处理的行储存在临时缓冲区中,称为“模式空间”,见着用sed命令处理缓冲区的内容,处理完成后,把缓冲区的内容送往屏幕。
接着处理下一行,这样不断重复,知道文件末尾。文件内容并没有改变,除非你使用重定向存储输出,sed主要用来自动编辑一个或多个文件;简化对文件的反复操作。
2.格式
sed 选项 命令 文件
sed 选项 -f 脚本 文件 (不常用)
3.返回值
都是0,对错不管
只有当命令存在语法错误时,sed的退出状态才是非0.
4.汇总示例
删除命令:d
sed -r '/root/d' passwd 删除有rood的那行
sed -r '3d' passwd 删除第三行
sed -r '3{d}' passwd 删除第三行(专业点)
sed -r '3{d;}' passwd 删除第三行,且还有其他命令
sed -r '3,$d' passwd 删除3到最后一行
sed -r '$d' passwd 删除最后一行
蹦出来的是草稿,并没有执行,如果要执行要用-ri
替换命令:s
替换整行命令:c
读文件命令:r
写文件命令:w(另存为)
追加命令:a(之后)
插入命令:i(之前)
获取下一行命令:n
反向选择:!
多重编辑:e