[toc]
sed是以行为单位的文本处理工具
sed常用命令
sed命令 | 作用 |
---|---|
a | 在匹配项后面加入文本 |
c | 字符转换 |
d | 删除行 |
D | 删除第一行 |
i | 在匹配行前面加入文本 |
h | 复制模板块的内容到存储空间 |
H | 追加模板块的内容到存储空间 |
g | 将存储空间的内容复制到模式空间 |
G | 将存储空间的内容追加到模式空间 |
n | 读取下一个输入行,用下一个命令处理新的行 |
N | 追加下一个输入行到模板块后并在二者间插入新行 |
p | 打印匹配的行 |
P | 打印匹配的第一行 |
q | 退出sed |
r | 从外部文件中读取文本 |
w | 追加写文本 |
! | 匹配的逆 |
s/old/new | 用new替换正则表达式old |
= | 打印当前行号 |
sed常用参数
sed参数 | 作用 |
---|---|
-e | 多条件编辑 |
-h | 帮助信息 |
-n | 不输出不匹配的行 |
-f | 指定sed脚本 |
-V | 版本信息 |
-i | 直接修改原文件 |
sed常用的正则表达式匹配
元字符 | 作用 |
---|---|
^ | 匹配行的开始 |
$ | 匹配行的结束 |
. | 匹配任一非换行字符 |
* | 匹配零个或任意多个字符 |
[] | 匹配指定范围内的字符 |
[^] | 匹配不在指定范围内的字符 |
\(...\) | 保存匹配的字符 如: s/\(love\)able/\lrs/, loveable被替换成lovers |
& | 保存搜索字符用来替换其他字符 如: s/love/**&**/, love变成**lobe** |
\< | 锚定单词的开始 如:/\ |
> | 锚定单词的结束 如:/cat>/ 匹配包含以cat结尾的单词的行 |
x\{n\} | 重复字符x,m次 |
x\{m,\} | 重复字符x,至少m次 |
x\{m,n\} | 重复字符x,至少m次,不多于n次 |