sed 命令使用 主要作用是用来将数据进行选取,替换,删除,新增的命令,与vim类似 选项:
-n : 只显示经过sed处理的数据,打印到屏幕
-e: 运行多个条件同时运行
-i: 直接修改文件 -p: 打印 例子: [root@zabbix lianxi]# cat student.txt
ID Name PHP Linux MySQL Average
Liming 87.66
Sc 85.66
Gao 91.66 #####################显示第二行数据################
[root@zabbix lianxi]# sed '2p' student.txt
ID Name PHP Linux MySQL Average
Liming 87.66
Liming 87.66
Sc 85.66
Gao 91.66 只显示第2行,需要-p与-n 结合使用
[root@zabbix lianxi]# sed -n '2p' student.txt
Liming 87.66 [root@zabbix lianxi]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 17G .6G 16G % /
devtmpfs .9G .9G % /dev
tmpfs .9G .9G % /dev/shm
tmpfs .9G 12M .9G % /run
tmpfs .9G .9G % /sys/fs/cgroup
/dev/sda1 1014M 189M 826M % /boot
tmpfs 378M 378M % /run/user/
[root@zabbix lianxi]# df -h | sed -n '2p'
/dev/mapper/centos-root 17G .6G 16G % / #########删除2到4行,输出到屏幕
d [root@zabbix lianxi]# sed '2,4d' student.txt
ID Name PHP Linux MySQL Average #############在第二行前插入两行数据############
i [root@zabbix lianxi]# sed '2i 你好 \
> 哈哈' student.txt
ID Name PHP Linux MySQL Average
你好
哈哈
Liming 87.66
Sc 85.66
Gao 91.66 ##########行替换############
将第二行替换
c [root@zabbix lianxi]# sed '2c 查无此人' student.txt
ID Name PHP Linux MySQL Average
查无此人
Sc 85.66
Gao 91.66 #######字符串替换#######
s [root@zabbix lianxi]# sed '4s/99/55/g' student.txt
ID Name PHP Linux MySQL Average
Liming 87.66
Sc 85.66
Gao 91.66
将第4行的99替换成55 [root@zabbix lianxi]# sed -i '4s/99/55/g' student.txt
[root@zabbix lianxi]# cat student.txt
ID Name PHP Linux MySQL Average
Liming 87.66
Sc 85.66
Gao 91.66 #####同时把Liing和Gao替换成空
[root@zabbix lianxi]# sed -e 's/Liming//g ; s/Gao//g' student.txt
ID Name PHP Linux MySQL Average
87.66
Sc 85.66
91.66