sed是一种流编编器,它是文本处理中非常中的工具,能够完美的配合正则表达式便用,功物能不同凡响。
处理时,把当前处理的行存储在临时缓冲区中,称为”模式空间”( oattern space),接看用sed命令处理缓冲区中的内容,处理成后,把缓冲区的内容送往屏幕显示。
接着理下一行,这样不断重复,直到文件末。文件内容没有改改变,除非使用了写入的命令,将内容更新。
定址用于决定对哪些行进行编辑。地址的形式可以是数字、正则表达式、或二者的结合。如果没有指定地址,sed将处理输入文件的所有行。
sed命令功能
sed常见命令参数
常用的命令展示
sed擅长行输出,附源文件:
只打印第三行
只查看文件的第3行到第9行
过滤特定字符串,显示正行内容
显示包含"hhh"的行到包含"omc"的行之间的行
打印1-5行,并显示行号
仅仅显示匹配字符串的行号
打印匹配行的内容和符号【相当于后面又根据关键词查询了一次】
用world 替换yum.log文件中的root【真实写入】
打印最后一行
在文件第一行添加happy,文件结尾添加new year
在文件第一行和第四行的每行下面添加hahaha
& 符号在sed命令中代表上次匹配的结果
删除第3到第9行,只是不显示而已
删除包含"hhh"的行到包含"omc"的行之间的行
删除包含"omc"的行到第十行的内容
备注:范围可以用数字、正则表达式、或二者的组合表示
显示中5到10行里匹配root,把行内所有的root替换为FTL,并打印到屏幕上
-e是编辑命令,用于多个编辑任务
打印3到6行的内容,并匹配reboot替换为shutdown
-r命令是读命令。sed使用该命令将一个文本文件中的内容加到当前文件的特定位置上
-w是写入命令
打印1-5行,并显示行号
sed的正则匹配
正则匹配IP和子网掩码
配合find命令的使用
sed错误使用