V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
jackshi
V2EX  ›  Python

在下网工,求个脚本。

  •  
  •   jackshi · 2023-09-15 11:41:52 +08:00 · 3072 次点击
    这是一个创建于 433 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在下网工,求个脚本。

    表 1 是 arp 表总表,包含 IP+MAC 信息 表 2 是分表,只有 MAC 信息,要根据 MAC 在表 1 中查表填入对应的 IP 信息。

    29 条回复    2023-09-18 10:58:17 +08:00
    learningman
        1
    learningman  
       2023-09-15 11:46:05 +08:00
    格式不给别人怎么帮你,有这时间不如问问 chatgpt
    ohayoo
        2
    ohayoo  
       2023-09-15 11:48:04 +08:00
    这个我感觉都不需要用到脚本,awk 是不是就可以实现啊
    ohayoo
        3
    ohayoo  
       2023-09-15 11:49:44 +08:00
    又想了下,如果没有 awk 环境,excel 的数据透视表是不是就能解决
    kemistep
        4
    kemistep  
       2023-09-15 11:59:06 +08:00
    这个 sql 很简单,
    select 表 2.mac,表 1.ip
    from 表 2
    left join 表 1
    on 表 2.mac = 表 1.mac

    需要注意的是,mac 是否有重复值,如有重复值,就笛卡尔积,数据膨胀了
    kemistep
        5
    kemistep  
       2023-09-15 12:00:20 +08:00
    或者用 pandas 的 merge ,也可以的, 数据处理,建议用 pandas ,方便,自己写循环,太麻烦了
    Qetesh
        6
    Qetesh  
       2023-09-15 12:09:01 +08:00 via iPhone
    excel 的 vlookup 可以实现
    julyclyde
        7
    julyclyde  
       2023-09-15 12:11:12 +08:00
    现在还有这么专业(别的方向都不会)的网工吗
    LykorisR
        8
    LykorisR  
       2023-09-15 12:12:37 +08:00
    要求倒是给细致一点啊,桌面端?语言要求呢,Py 还是什么都行?需要用数据库还是 csv 一类的文件储存?
    Byzliu
        9
    Byzliu  
       2023-09-15 12:43:36 +08:00 via Android
    GPT 就够了,几分钟完事
    Byzliu
        10
    Byzliu  
       2023-09-15 12:44:34 +08:00 via Android
    gpt4 的代码解释器非常适合干这种。
    albert91
        11
    albert91  
       2023-09-15 12:45:13 +08:00
    导入到数据库里面写 sql 最方便
    giter
        12
    giter  
       2023-09-15 12:57:22 +08:00 via iPhone
    切记,找人帮忙要说谢谢,而不是甩个需求当老板。
    hefish
        13
    hefish  
       2023-09-15 12:58:46 +08:00
    网工好啊。。。

    网工再见。
    Eiden
        14
    Eiden  
       2023-09-15 13:06:30 +08:00
    excel 用 vlookup
    gvdlmjwje
        15
    gvdlmjwje  
       2023-09-15 13:50:26 +08:00
    vlookup 啊。。。
    mansurx
        16
    mansurx  
       2023-09-15 14:27:13 +08:00
    没用 excel 吗,o365 的 xlookup 会更好用……当然你要发给 ChatGPT 可能会更简单
    wuwukai007
        17
    wuwukai007  
       2023-09-15 16:25:10 +08:00
    加 v 100 给你搞定
    defunct9
        18
    defunct9  
       2023-09-15 16:28:46 +08:00
    它这是 show arp 的结果
    wangyi180723
        19
    wangyi180723  
       2023-09-15 16:33:45 +08:00
    做过,用 textfsm 干
    Ackvincent
        20
    Ackvincent  
       2023-09-15 16:41:11 +08:00
    ChatGPT
    sirz
        21
    sirz  
       2023-09-15 16:46:23 +08:00
    SQL 脚本?

    来自 https://aihello.vip chagpt3.5 回复:

    ```
    以下是一个示例的 SQL 脚本,根据表 2 中的 MAC 信息,在表 1 中查找对应的 IP 信息,并更新表 2:

    sql
    UPDATE 表 2
    SET IP = (SELECT IP FROM 表 1 WHERE 表 1.MAC = 表 2.MAC)
    WHERE EXISTS (SELECT 1 FROM 表 1 WHERE 表 1.MAC = 表 2.MAC);
    这个脚本使用了一个子查询来查找在表 1 中与表 2 中的 MAC 匹配的 IP 。然后通过 UPDATE 语句将查找到的 IP 值更新到表 2 中的相应记录中。

    请注意,你需要将"表 1"和"表 2"替换为实际的表名。此外,确保在运行脚本之前已经建立了正确的索引以提高查询性能。

    ```
    deorth
        22
    deorth  
       2023-09-15 17:16:15 +08:00 via Android
    在下秦始皇,打钱
    taoge0224
        23
    taoge0224  
       2023-09-15 17:39:24 +08:00
    放在 excel 里 vlookup() 一个函数搞定
    jackshi
        24
    jackshi  
    OP
       2023-09-18 10:49:12 +08:00
    @learningman 谢谢提供思路
    jackshi
        25
    jackshi  
    OP
       2023-09-18 10:50:07 +08:00
    @ohayoo 谢谢 提供思路,但讨厌研究表格
    jackshi
        26
    jackshi  
    OP
       2023-09-18 10:50:33 +08:00
    @sirz 谢谢
    jackshi
        27
    jackshi  
    OP
       2023-09-18 10:57:27 +08:00
    @kemistep 谢谢大佬
    jackshi
        28
    jackshi  
    OP
       2023-09-18 10:58:02 +08:00
    @julyclyde 有 别我差的大把的,不过最近也在学 Python+linux
    jackshi
        29
    jackshi  
    OP
       2023-09-18 10:58:17 +08:00
    @gvdlmjwje 谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1091 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 18:54 · PVG 02:54 · LAX 10:54 · JFK 13:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.