sed命令语法格式
sed [参数] [条件/指令] [文件名称]
参数 |
功能 |
-n |
取消默认输出 |
-i |
修改文件内容 |
-e |
执行多个指令 |
-r |
识别扩展正则符号 |
指令 |
功能 |
p |
输出 |
d |
删除 |
s |
替换 |
g |
匹配文件内容中的所有信息 |
i |
在当前行上一行插入信息 |
a |
在当前行下一行插入信息 |
c |
替换正行信息 |
增加测试文本
[root@sed ~]# cat << EOF > test.sh
> 1001,AAAA,CEO
> 1002,BBBB,CFO
> 1003,CCCC,CTO
> 1004,DDDD,COO
> 1005,EEEE,CIO
> EOF
[root@sed ~]# cat test.sh
1001,AAAA,CEO
1002,BBBB,CFO
1003,CCCC,CTO
1004,DDDD,COO
1005,EEEE,CIO
一、sed - 查询
1、查看文本所有内容
[root@sed ~]# sed '' test.sh
1001,AAAA,CEO
1002,BBBB,CFO
1003,CCCC,CTO
1004,DDDD,COO
1005,EEEE,CIO
2、查看文本第二行内容
[root@sed ~]# sed -n '2p' test.sh
1002,BBBB,CFO
3、如果不加-n
参数的话,则显示文本的所有内容,在这里可以将-n
理解为消除多余输出
[root@sed ~]# sed '2p' test.sh
1001,AAAA,CEO
1002,BBBB,CFO
1002,BBBB,CFO
1003,CCCC,CTO
1004,DDDD,COO
1005,EEEE,CIO
4、查看文本2-4
行的内容(连续)
[root@sed ~]# sed -n '2,4p' test.sh
1002,BBBB,CFO
1003,CCCC,CTO
1004,DDDD,COO
5、查看文本指定行(第2和第4行
)内容(不连续)
[root@sed ~]# sed -n '2p;4p' test.sh
1002,BBBB,CFO
1004,DDDD,COO
6、使用-e
参数将指令分开执行
[root@sed ~]# sed -ne '2p' -e '4p' test.sh
1002,BBBB,CFO
1004,DDDD,COO
7、使用!
排除指定单行
[root@sed ~]# sed -n '2!p' test.sh
1001,AAAA,CEO
1003,CCCC,CTO
1004,DDDD,COO
1005,EEEE,CIO
8、使用!
排除2-4行(连续)
[root@sed ~]# sed -n '2,4!p' test.sh
1001