什么是 sed?
sed(stream editor)是一个非交互式的文本处理工具,常用于在命令行中对文本进行查找、替换、删除、插入等操作。它逐行读取输入,并将结果输出到标准输出,非常适合自动化脚本处理。
基本语法
sed [选项] '命令' 文件
例如,将文件中的“apple”替换为“orange”:
sed 's/apple/orange/g' filename.txt
常用命令与中文解释
- s:替换(substitute),如
s/old/new/g - d:删除(delete)匹配的行
- p:打印(print)匹配的行(需配合
-n使用) - a:在匹配行后追加(append)文本
- i:在匹配行前插入(insert)文本
实用示例
1. 删除空行:
sed '/^$/d' file.txt
2. 在每行开头添加注释符号:
sed 's/^/# /' script.sh
3. 仅显示第 5 到第 10 行:
sed -n '5,10p' data.log