系统三剑客命令 sed
作用: 修改文件内容 对文件行进行操作
sed - stream editor for filtering and transforming text
sed命令主要用于处理哪些文件数据
配置文件 文本文件
sed命令语法结构:
sed [参数] '条件 指令' 文件信息
sed -n '/disabled/p' /etc/selinux/config
sed命令执行原理:
sed操作方式
增: 在文件中添加信息
删: 将文件中指定信息删除
改: 修改替换文件内容
查: 查找相应内容信息
查看文件信息 == grep
第一种方式: 按指定行查询内容
# sed -n '3p' person.txt --- 进行单行过滤
103,Alex,COO
# sed -n '2,5p' person.txt --- 连续的多行进行过滤
102,zhaoyao,CTO
103,Alex,COO
104,yy,CFO
105,feixue,CIO
# sed -n '2p;4p' person.txt --- 显示不连续行信息
102,zhaoyao,CTO
104,yy,CFO
第二种方式: 按指定内容进行过滤
# sed -n '/Alex/p' person.txt --- 过滤指定信息的行
103,Alex,COO
# sed -n '/CTO/,/CIO/p' person.txt --- 按照信息过滤连续行
102,zhaoyao,CTO
103,Alex,COO
104,yy,CFO
105,feixue,CIO
[root@oldboyedu ~]# sed -n '/oldboy/p;/yy/p' person.txt
101,oldboy,CEO
104,yy,CFO
[root@oldboyedu ~]# sed -rn '/oldboy|yy/p' person.txt
101,oldboy,CEO
104,yy,CFO
[root@oldboyedu ~]# sed -n '/oldboy\|yy/p' person.txt
101,oldboy,CEO
104,yy,CFO
增加文件信息
方式一: 在指定行后面添加信息
[root@oldboyedu ~]# sed '2aoldboy' person.txt
101,oldboy,CEO
102,zhaoyao,CTO
oldboy
103,Alex,COO
104,yy,CFO
105,feixue,CIO
[root@oldboyedu ~]# sed 'aoldboy' person.txt
101,oldboy,CEO
oldboy
102,zhaoyao,CTO
oldboy
103,Alex,COO
oldboy
104,yy,CFO
oldboy
105,feixue,CIO
oldboy
[root@oldboyedu ~]# sed '$oldboy' person.txt
sed: -e expression #1, char 2: unknown command: `o'
[root@oldboyedu ~]# sed '$aoldboy' person.txt
101,oldboy,CEO
102,zhaoyao,CTO
103,Alex,COO
104,yy,CFO
105,feixue,CIO
oldboy
方式二: 在指定行前面添加信息
[root@oldboyedu ~]# sed '2ioldboy' person.txt
101,oldboy,CEO
oldboy
102,zhaoyao,CTO
103,Alex,COO
104,yy,CFO
105,feixue,CIO
[root@oldboyedu ~]# sed 'ioldboy' person.txt
oldboy
101,oldboy,CEO
oldboy
102,zhaoyao,CTO
oldboy
103,Alex,COO
oldboy
104,yy,CFO
oldboy
105,feixue,CIO
[root@oldboyedu ~]# sed '1ioldboy' person.txt
oldboy
101,oldboy,CEO
102,zhaoyao,CTO
103,Alex,COO
104,yy,CFO
105,feixue,CIO
多行添加信息 ---