Linux脚本sed命令

目录

一. 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         #将多个文件视为独立文件,而不是单个连续的长文件流

Linux脚本sed命令_第1张图片

三. sed语法选项

p          #打印当前模式空间内容,追加到默认输出之后
Ip         #忽略大小写输出
d          #删除模式空间匹配的行,并立即启用下一轮循环
a [\]text  #在指定行后面追加文本,支持使用\n实现多行追加
i [\]text  #在行前面插入文本
c [\]text  #替换行为单行或多行文本
w file     #保存模式匹配的行至指定文件
r file     #读取指定文件的文本至模式空间中匹配到的行后
=          #为模式空间中的行打印行号
!          #模式空间中匹配行取反处理
q          #结束或退出sed

四. 案例解释

1. 打印奇数或偶数行

Linux脚本sed命令_第2张图片

Linux脚本sed命令_第3张图片

2. 打印固定行数

Linux脚本sed命令_第4张图片

3. 打印包含字符的行

Linux脚本sed命令_第5张图片

4. 打印特定字符首尾行

Linux脚本sed命令_第6张图片

5. 删除固定行数

Linux脚本sed命令_第7张图片

Linux脚本sed命令_第8张图片

6. 删除特定字符行

Linux脚本sed命令_第9张图片

7. 插入在固定行中

Linux脚本sed命令_第10张图片

8. 替换规定行数

Linux脚本sed命令_第11张图片

9. 使用变量

Linux脚本sed命令_第12张图片

10. 多点编辑

Linux脚本sed命令_第13张图片

11. 分组后项引用

五. 案例拓展

1. 把包含特定字符的行复制到规定行后

Linux脚本sed命令_第14张图片

2. 把特定行复制到特定行后

Linux脚本sed命令_第15张图片

3. 将文件内容复制到其他文件中

Linux脚本sed命令_第16张图片

Linux脚本sed命令_第17张图片

4. 提取IP地址

5. 提取网卡名

6. 提取版本号

Linux脚本sed命令_第18张图片

你可能感兴趣的:(linux,运维,服务器)