sed命令简介
sed全称为stream editor,即流编辑器。它擅长对文本进行逐行处理,能够实现文本替换、删除、插入、修改等多种操作。sed的强大之处在于它可以自动处理多行文本而无需人工手动干预 。
命令格式详解
命令格式
1、sed [选项] '[定位符]指令' 文件
2、命令 | sed [选项] '[定位符]指令'
命令说明
sed命令可以处理文件中的文本,也可以处理通过管道符输入的文本。sed中的指令包含定位符和指令字符两部分,定位符用于确定需要处理的文本行,指令字符用于指明需要执行的操作。
选项列表
- −n:使用静默模式,只显示经过sed处理的行,否则会显示所有文本。
- −e:标识其后的命令为多条语句的集合,各语句通常使用分号分隔。
- −r:命令支持扩展的正则表达式,sed命令默认只支持基本正则。
- −i:直接修改文件的内容,否则只在终端显示处理结果。
- −f:执行sed命令脚本,f选项后为脚本文件名称。
指令字符
- −p:打印与定位符匹配的文本行。
- −a:在与定位符匹配的文本下一行插入内容。
- −i:在与定位符匹配的文本上一行插入内容。
- −s:替换与定位符匹配的字符串。
- −c:替换与定位符匹配的文本行。
- −d:删除与定位符匹配的文本行。
定位符
- n:数字n表示第n行文本。
- $:最后一行文本。
- n,m:第n行至第m行的所有文本。例如:3,5表示第3行至第5行的内容。
- n,+m:第n行及后面的m行文本。例如:3,+5表示第3行及后续5行总共6行的内容。
- n~m:第n行及后续第m、2m、3m...行文本。例如:1~2表示1、3、5...所有的奇数行。
- /正则字符串/:与正则字符串匹配的文本行。例如:/^root/表示以root开始的文本行。