Linux 三剑客之sed命令总结 4年前

sed

### sed ###

1、关键字取行
sed -n '/jpinsz/p' test.txt
sed -n '/^d/p' test.txt

2、根据行数取行
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/nologin
3、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 boy

5、内容替换
    [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.13

6、取行数
    [root@JP1 tmp]# sed -n "$=" /etc/passwd
    437、特定行数插入字符串   例子:如果遇到连接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行开始收入后面的字符串
艾麗卡
云会变,树会变,山川河流会变,哪能奢求别人,永远不改变呢。
4
发布数
0
关注者
6541
累计阅读

热门教程文档

Objective-C
29小节
Linux
51小节
Swift
54小节
爬虫
6小节
C
14小节
广告