004-sed 命令使用

sed 命令使用

主要作用是用来将数据进行选取,替换,删除,新增的命令,与vim类似


选项:
-n : 只显示经过sed处理的数据,打印到屏幕
-e:  运行多个条件同时运行
-i: 直接修改文件


-p: 打印

例子:

[root@zabbix lianxi]# cat student.txt 
ID    Name    PHP    Linux    MySQL    Average
1    Liming    82    95    86    87.66
2    Sc    74    96    87    85.66
3    Gao    99    83    93    91.66

#####################显示第二行数据################
[root@zabbix lianxi]# sed '2p' student.txt 
ID    Name    PHP    Linux    MySQL    Average
1    Liming    82    95    86    87.66
1    Liming    82    95    86    87.66
2    Sc    74    96    87    85.66
3    Gao    99    83    93    91.66

只显示第2行,需要-p与-n 结合使用
[root@zabbix lianxi]# sed -n '2p' student.txt 
1    Liming    82    95    86    87.66



[root@zabbix lianxi]# df -h 
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   17G  1.6G   16G    9% /
devtmpfs                 1.9G     0  1.9G    0% /dev
tmpfs                    1.9G     0  1.9G    0% /dev/shm
tmpfs                    1.9G   12M  1.9G    1% /run
tmpfs                    1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda1               1014M  189M  826M   19% /boot
tmpfs                    378M     0  378M    0% /run/user/0
[root@zabbix lianxi]# df -h | sed -n '2p'
/dev/mapper/centos-root   17G  1.6G   16G    9% /

#########删除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
你好 
哈哈
1    Liming    82    95    86    87.66
2    Sc    74    96    87    85.66
3    Gao    99    83    93    91.66



##########行替换############
将第二行替换
c

[root@zabbix lianxi]# sed '2c 查无此人' student.txt 
ID    Name    PHP    Linux    MySQL    Average
查无此人
2    Sc    74    96    87    85.66
3    Gao    99    83    93    91.66


#######字符串替换#######
s

[root@zabbix lianxi]# sed '4s/99/55/g' student.txt 
ID    Name    PHP    Linux    MySQL    Average
1    Liming    82    95    86    87.66
2    Sc    74    96    87    85.66
3    Gao    55    83    93    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
1    Liming    82    95    86    87.66
2    Sc    74    96    87    85.66
3    Gao    55    83    93    91.66



#####同时把Liing和Gao替换成空
[root@zabbix lianxi]# sed -e 's/Liming//g ; s/Gao//g' student.txt 
ID    Name    PHP    Linux    MySQL    Average
1        82    95    86    87.66
2    Sc    74    96    87    85.66
3        55    83    93    91.66

 

posted @ 2019-06-05 20:52  xuefy  阅读(187)  评论(0编辑  收藏  举报