• sed 练习


    [root@server3 mnt]# cat -n passwd

         1  root:x:0:0:root:/root:/bin/bash

         2  bin:x:1:1:bin:/bin:/sbin/nologin

         3  daemon:x:2:2:daemon:/sbin:/sbin/nologin

         4  rooot

         5  rooooot

         6  Root

         7  ROOOT

         8  roooooot.

         9  test

        10 

        11 

        12  tes0t.

        13  adm:x:3:4:adm:/var/adm:/sbin/nologin.

     

    1.删除与增加

    删除2-5行

    [root@server3 mnt]# cat  -n passwd  | sed   '2,5d'

         1  root:x:0:0:root:/root:/bin/bash

         6  Root

         7  ROOOT

         8  roooooot.

         9  test

        10 

        11 

        12  tes0t.

        13  adm:x:3:4:adm:/var/adm:/sbin/nologin.

    增加字符

    [root@server3 mnt]# cat  -n passwd  | sed   '2a are you ok'

         1  root:x:0:0:root:/root:/bin/bash

         2  bin:x:1:1:bin:/bin:/sbin/nologin

    are you ok

         3  daemon:x:2:2:daemon:/sbin:/sbin/nologin

         4  rooot

         5  rooooot

         6  Root

         7  ROOOT

         8  roooooot.

         9  test

        10 

        11 

        12  tes0t.

        13  adm:x:3:4:adm:/var/adm:/sbin/nologin.

    增加两行字

    [root@server3 mnt]# cat  -n passwd  | sed   '2a are you ok?

    > fine'

         1  root:x:0:0:root:/root:/bin/bash

         2  bin:x:1:1:bin:/bin:/sbin/nologin

    are you ok?

    fine

         3  daemon:x:2:2:daemon:/sbin:/sbin/nologin

         4  rooot

         5  rooooot

         6  Root

         7  ROOOT

         8  roooooot.

         9  test

        10 

        11 

        12  tes0t.

        13  adm:x:3:4:adm:/var/adm:/sbin/nologin.

     

     

     

    2.以行为单位的替换与显示功能

     

    2-5行替换成sorry

    [root@server3 mnt]# cat  -n passwd  | sed   '2,5c sorry'

         1  root:x:0:0:root:/root:/bin/bash

    sorry

         6  Root

         7  ROOOT

         8  roooooot.

         9  test

        10 

        11 

        12  tes0t.

        13  adm:x:3:4:adm:/var/adm:/sbin/nologin.

     

    仅列出文件内的6-9行

    [root@server3 mnt]# cat  -n passwd  | sed -n  '6,9p'  #若不加n,6-9行会重复输出

         6  Root

         7  ROOOT

         8  roooooot.

         9  test

     

     

    3.部分数据的查找并替换的功能

    sed的查找个查找格式如下

        sed 's/要被替换的字符串/新的字符串/g'

    通过查找来显示出自己的ip

    [root@server3 mnt]# ip addr | grep eth0

    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

        inet 172.25.8.3/24 brd 172.25.8.255 scope global eth0

    [root@server3 mnt]# ip addr | grep 'eth0$'

        inet 172.25.8.3/24 brd 172.25.8.255 scope global eth0

    [root@server3 mnt]# ip addr | grep 'eth0$' | sed 's/inet//g'

         172.25.8.3/24 brd 172.25.8.255 scope global eth0

    [root@server3 mnt]# ip addr | grep 'eth0$' | sed 's/inet//g' |sed 's/brd.*$//g'

         172.25.8.3/24

     

     

     

     

  • 相关阅读:
    Ubuntu中安装XAMPP出错的解决方法
    sudo 后不用输入密码的配置
    javascript鼠标双击时触发事件大全
    PHP空值判断
    40音乐海报的创意例子
    35个令人印象深刻的创意404错误页面设计
    35个高分辨率创意苹果桌面壁纸
    38惊人的HD(高清晰度)壁纸七彩的例子
    25精心设计的联系页面例子
    pgpoolII中对 setsockopt 的利用
  • 原文地址:https://www.cnblogs.com/zhengyipengyou/p/10284432.html
Copyright © 2020-2023  润新知