- 替换:
s/old_text/new_text/g
:将每一行中的old_text
替换为new_text
。s/old_text/new_text/2
:只替换每一行中第二次出现的old_text
。
- 删除行:
/pattern/d
:删除包含指定模式的行。
- 插入与追加:
1i
:在第一行之前插入文本。1a
:在第一行之后追加文本。
- 打印:
-n
:不打印模式空间的内容。p
:打印模式空间的内容。
- 选定行的范围:
1,5d
:删除第一行到第五行的内容。2,$d
:删除第二行到最后一行的内容。
- 保存修改:
-i
:直接修改文件内容,而不是输出到标准输出。
- 多个命令:
-e
:允许对同一行使用多个命令。
- 标签:
:label
:定义一个标签。b label
:跳转到标签处继续执行。
- 保留与删除:
!
:在命令前加上!
可以实现相反的效果,例如!s/foo/bar/
表示替换所有不包含 "foo" 的行。
- 行编辑:
r filename
:将文件内容插入到当前行后面。w filename
:将匹配的行写入到文件中。
- 行号选择:
5p
:打印第五行。5,10p
:打印第五行到第十行。
- 转换大小写:
y/abc/ABC/
:将小写字母 a 替换为大写字母 A,b 替换为 B,c 替换为 C。
- 行末添加:
a\
:在匹配行的末尾添加文本。
- 行首添加:
i\
:在匹配行的开头添加文本。
- 行连接:
N
:将下一行添加到模式空间中的当前行后面,用换行符分隔。
- 命令组合:
-e
:允许在命令行上使用多个命令。
- 删除行末空格:
s/\s*$//
:删除每行末尾的空格。
- 删除行首空格:
s/^\s*//
:删除每行开头的空格。
- 删除空白行:
/^\s*$/d
:删除空白行。
- 保留行:
/pattern/!d
:删除不匹配模式的行,保留匹配模式的行。
sed
-
-
字
“您的支持是我持续分享的动力”
微信
支付宝