2019-07-26

系统三剑客命令 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

多行添加信息 ---

你可能感兴趣的:(2019-07-26)