文本三剑客——sed

sed命令是利用脚本来处理文本文件。它可以依照脚本的指令来处理、编辑文本文件。主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等

原理:

文本三剑客——sed_第1张图片

 常用选项:

-n——取消默认输出

-i——直接而在源文件修改

-i.xxx——备份文件并在原处编辑

-e——进行多次编辑

-f——指定sed文件名

-r——使用扩展正则表达式

单地址
# 指定的行
$ 最后一行
地址范围
a,b 从第a行到第b行
a,+b 从第a行到第a+b行
/pat1/,/pat2/ 第一个正则表达式和第二个正则表达式之间的行
#,/pat/ 从#开始,找到pat为止
/pat/,# 找到#个pat为止
步进
奇数行 1~2
偶数行 0~2

命令动作:

p——打印输出

Ip——忽略大小写输出

d——删除指定行

i——在指定行之间插入内容

a——在指定行后面插入内容

c——替换指定行所有内容

w——保存模式匹配的行至指定文件

r——读取指定的文本至模式空间中匹配到的行

=——为模式空间中的行打印行号

!——取反

搜索替换

s——搜索替换

g——行内全局替换

p——显示替换成功的行

打印输出——p

文本三剑客——sed_第2张图片

文本三剑客——sed_第3张图片


  

 文本三剑客——sed_第4张图片

文本三剑客——sed_第5张图片

文本三剑客——sed_第6张图片

文本三剑客——sed_第7张图片

文本三剑客——sed_第8张图片

文本三剑客——sed_第9张图片
  

文本三剑客——sed_第10张图片

文本三剑客——sed_第11张图片

 文本三剑客——sed_第12张图片

 增加内容——i/a

文本三剑客——sed_第13张图片

文本三剑客——sed_第14张图片

文本三剑客——sed_第15张图片

 文本三剑客——sed_第16张图片

 文本三剑客——sed_第17张图片

 删除——d

文本三剑客——sed_第18张图片

文本三剑客——sed_第19张图片

文本三剑客——sed_第20张图片

替换——c

文本三剑客——sed_第21张图片

 搜索替换——s/ / /

文本三剑客——sed_第22张图片

文本三剑客——sed_第23张图片 

文本三剑客——sed_第24张图片 

 插入文件——r

文本三剑客——sed_第25张图片

另存为到文件——w

文本三剑客——sed_第26张图片 同时编辑——-e

文本三剑客——sed_第27张图片

 分组操作

对一行数据进行多次操作的时候,可以使用{}进行分组

 文本三剑客——sed_第28张图片

 读取完退出

正常情况下sed会在读取完所有数据行之后退出,但是我们可以随时使用q指令来提前退出sed

 
  

 sed脚本

注意事项:

1.sed脚本文件第一行要声明#!/bin/sed -f

2.不要加单引号

3.每行的最后不能有空格等多余字符

4.#号开头为注释

5.一行有多个命令时用分号隔开

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