【问题标题】:How could i filter the result i got from whois?我如何过滤从 whois 获得的结果?
【发布时间】:2013-12-19 07:35:39
【问题描述】:

我尝试从 linux 机器上运行 whois 命令,我在终端和网络中得到了我想要的结果,但结果非常乏味且冗长。有什么方法可以过滤以下链接中的输出结果

http://network-tools.com/

在进行 whois 扫描时,我想删除显示创建和更新日期以及通知段落。我该如何执行这些活动。

【问题讨论】:

    标签: linux web-services networking whois


    【解决方案1】:

    您可以使用grep 拉出特定行或排除特定行。例如:

    # Show only lines containing "abc"
    whois example.ex | grep -F abc
    
    # Show only lines that don't contain "abc"
    whois example.ex | grep -Fv abc
    

    【讨论】:

    • 如果我有一长串不显示命令行的项目会变脏怎么办
    【解决方案2】:

    可以使用grep 执行简单的字符串过滤和替换。

    但是,grep 在去除多行字符串或可以去除的字符串具有不同的锚点时效果不佳。 例如,如果您不想显示免责声明,这是一项非常艰巨的任务。因为每个注册表都会在响应的不同部分以不同的格式打印出免责声明。

    对于此类任务,您需要 - 将答案分解成碎片(解析)并去掉不需要的内容,然后输出字符串 - 为您要删除的每个部分维护一个标识符列表,并使用自定义脚本在它们出现时删除它们(这或多或少是 linux whois 客户端在您通过时用来删除免责声明的方法命令行中的相应选项)。

    在这两种情况下,这都不是一件小事。

    【讨论】:

    • 这需要一些工作,任何示例都是无用的,因为在任何情况下您都必须根据要使用的 TLD 重写它。我们鼓励您开始编写代码,然后再返回 SO,以防您对特定代码有任何问题。
    猜你喜欢
    • 2013-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-14
    • 2013-10-06
    • 1970-01-01
    • 1970-01-01
    • 2019-12-16
    相关资源
    最近更新 更多