目录
一. sed命令定义
二. sed命令选项
三. sed语法选项
四. 案例解释
1. 打印奇数或偶数行
2. 打印固定行数
3. 打印包含字符的行
4. 打印特定字符首尾行
5. 删除固定行数
6. 删除特定字符行
7. 插入在固定行中
8. 替换规定行数
9. 使用变量
10. 多点编辑
11. 分组后项引用
五. 案例拓展
1. 把包含特定字符的行复制到规定行后
2. 把特定行复制到特定行后
3. 将文件内容复制到其他文件中
4. 提取IP地址
5. 提取网卡名
6. 提取版本号
一. sed命令定义
sed:是一个文本解析转换工具,可以读取文本,并根据指定的执行条件对文本内容进行编辑,最后输出所有行或者仅输出处理的某些行。
sed与awk不同的是sed读取一行,处理一行,输出一行。
sed可以在无交互的情况下实现相当复杂的文本处理操作,被广泛应用于Shell脚本中,用以完成各种自动化处理任务。
二. sed命令选项
格式: sed [option]... 'script;script;...' [input file...]
选项 自身脚本语法 支持标准输入管道
常用选项:
-n #不输出模式空间内容到屏幕,即不自动打印
-e #多点编辑
例如:[root@www data]#sed -n -e '/^r/p' -e'/^b/p' /etc/passwd
-f FILE #从指定文件中读取编辑脚本
-r或-E #使用扩展正则表达式
-i.bak #备份文件并原处编辑
-s #将多个文件视为独立文件,而不是单个连续的长文件流
三. sed语法选项
p #打印当前模式空间内容,追加到默认输出之后
Ip #忽略大小写输出
d #删除模式空间匹配的行,并立即启用下一轮循环
a [\]text #在指定行后面追加文本,支持使用\n实现多行追加
i [\]text #在行前面插入文本
c [\]text #替换行为单行或多行文本
w file #保存模式匹配的行至指定文件
r file #读取指定文件的文本至模式空间中匹配到的行后
= #为模式空间中的行打印行号
! #模式空间中匹配行取反处理
q #结束或退出sed