V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OpenWrt 是一个专门面向嵌入式设备的 Linux 发行版。你可以将 OpenWrt 支持的型号的嵌入式设备,比如各种路由器上的系统,换成一个有更多可能性可以折腾的 Linux 系统。
OpenWrt 官方网站
qq674949301
V2EX  ›  OpenWrt

OpenWRT 如何把一部分 IP 插入到某个 IP 的前面

  •  
  •   qq674949301 · 2015-07-15 10:23:52 +08:00 · 680 次点击
    这是一个创建于 3417 天前的主题,其中的信息可能已经有所发展或是发生改变。
    请教各位如何把一部分IP插入到某个IP前面 ?我想在1.0.1.0/24这一行的前面加入一部分
    IP EP:
    +192.0.2.0/24
    +192.88.99.0/24
    +192.168.0.0/16
    +198.18.0.0/15
    +198.51.100.0/24
    +203.0.113.0/24
    +224.0.0.0/4
    +240.0.0.0/4
    +................
    1.0.1.0/24
    1.0.2.0/23
    1.0.8.0/21
    1.0.32.0/19
    1.1.0.0/24
    1.1.2.0/23
    1.1.4.0/22
    1.1.8.0/21
    1.1.16.0/20
    1.1.32.0/19
    ........
    这样的脚本用sed该如何写!
    7 条回复    2015-07-15 20:55:37 +08:00
    leavic
        1
    leavic  
       2015-07-15 11:05:12 +08:00
    SED是单行编辑用的,你这个就不是SED的工作
    qq674949301
        2
    qq674949301  
    OP
       2015-07-15 11:33:25 +08:00
    @leavic 那应该如何插入到这行前面呢?
    likuku
        3
    likuku  
       2015-07-15 11:48:06 +08:00
    重定向,追加。

    a 文件,含新增ip行。
    b 文件,含 1.x .. ip行。

    cat b >> a
    18000rpm
        4
    18000rpm  
       2015-07-15 11:55:03 +08:00 via Android
    把 1.0.1.0/24 之前的保存为 file.head, 剩下的保存为 file.tail
    echo 新ip >> file.head;
    cat file.head; cat file.tail
    18000rpm
        5
    18000rpm  
       2015-07-15 12:17:22 +08:00
    sed '/1.0.1.0\/24/i YourNewIP'
    cattyhouse
        6
    cattyhouse  
       2015-07-15 12:53:20 +08:00
    sed -i "10a 1.2.3.4" /etc/some/file

    这条命令将 1.2.3.4 插入文件的第10行后面,楼主自己发挥。
    tuutoo
        7
    tuutoo  
       2015-07-15 20:55:37 +08:00 via Android
    有点像ignore.list 我的做法是自己的ip放一个文件 然后直接cat myfile.txt >>ignore.list
    放到后面和前面应该差不多吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   980 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 21:20 · PVG 05:20 · LAX 13:20 · JFK 16:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.