【问题标题】:Shell pipeline does not function with digShell 管道不适用于 dig
【发布时间】:2013-02-26 16:05:21
【问题描述】:

。 这可能是一个特别愚蠢的问题,但我是 shell 脚本的新手。对不起!

我正在尝试使用管道(将第一个命令的输出作为输入参数传递给第二个命令)。

cat filename.csv | nslookup

按我的预期运行,为文件中的每一行调用 nslookup。但是,同样的事情对 dig 不起作用

cat filename.csv | dig

; <<>> DiG 9.8.1-P1 <<>>
;; global options: +cmd
;; connection timed out; no servers could be reached

感谢您的帮助。谢谢!

【问题讨论】:

    标签: bash shell pipeline dig


    【解决方案1】:

    我不确定dig 是否从标准输入读取。而是,

    -f 选项使 dig 通过读取列表以批处理模式运行 从文件文件名中查找要处理的请求。该文件包含一个 查询数,每行一个。文件中的每个条目都应该是 以同样的方式组织起来 将显示为使用命令行界面进行挖掘的查询。

    (来自man page

    请注意,您的 nslookup 示例符合 this award (!) 并且可以重写为

    nslookup < filename.csv
    

    达到同样的目的。

    【讨论】:

    • 这实际上不是我的永恒目标。我正在尝试发送一些并行/异步请求。我以为我必须学习如何使用 |首先(为了将参数传递给 xargs 或并行)。非常感谢您的帮助,我真的很喜欢我的奖 :)
    • 没问题。我过去曾多次获得该奖项。
    猜你喜欢
    • 1970-01-01
    • 2020-06-11
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多