sed
### sed ###1、关键字取行sed -n '/jpinsz/p' test.txtsed -n '/^d/p' test.txt2、根据行数取行sed -n '2,5p' test.txt [root@JP1 tmp]# sed -n '2,5p' test.txt bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin3、sed 删除,删掉包含关键词的行 sed '/^$/d' test.txt ## 删除空行4、sed –i 直接修改文件内容 [root@JP1 tmp]# cat jp.txt i am jpinsz jpinsz jpinsz test good boy [root@JP1 tmp]# sed -i '/jpinsz/d' jp.txt [root@JP1 tmp]# cat jp.txt good boy5、内容替换 [root@JP1 tmp]# sed -n 's#kk#HH#gp' a HH qq HH HH jp qq HH HH qq QQ HH HH QQ QQ HH HH [root@JP1 tmp]# sed -n 's#HH#BB#gp' a > b [root@JP1 tmp]# cat b kk qq BB kk jp qq BB kk qq QQ BB kk QQ QQ BB kk [root@JP1 tmp]# sed -n 's#HH#AA#2p' test2 HH qq AA HH jp qq AA HH qq QQ AA HH QQ QQ AA HH [root@JP1 tmp]# ifconfig enp0s3|sed -nr 's#^.*net (.*) net.*$#\1#gp' 10.0.0.136、取行数 [root@JP1 tmp]# sed -n "$=" /etc/passwd 43 7、特定行数插入字符串 例子:如果遇到连接SSH反应慢的问题,请在所有被管理的机器上提前执行如下命令: sed -ir '13iUseDNS no\nGSSAPIAuthentication no\n' /etc/ssh/sshd_config /etc/init.d/sshd reload 解析:-ir 将目标文件‘/etc/ssh/sshd_config’备份为/etc/ssh/sshd_configr,然后‘13i'是13行开始收入后面的字符串