我需要这两个命令一(这样我就可以进一步通过管道传输它们):
dig +nottlid -t any bix.hu | egrep -v "^;;|^;|^$" | sort
dig +nottlid -t any www.bix.hu | egrep -v "^;;|^;|^$" | sort
我的意思是我需要这两个命令的输出位于一个管道中:
$ dig +nottlid -t any bix.hu | egrep -v "^;;|^;|^$" | sort
bix.hu. IN A 193.239.149.1
bix.hu. IN MX 10 deneb.iszt.hu.
bix.hu. IN NS ns.iszt.hu.
bix.hu. IN NS ns.iszt.hu.
bix.hu. IN NS ns-s.nic.hu.
bix.hu. IN NS ns-s.nic.hu.
bix.hu. IN SOA ns.iszt.hu. hostmaster.iszt.hu. 2011053000 28800 7200 604800 14400
和
dig +nottlid -t any www.bix.hu | egrep -v "^;;|^;|^$" | sort
bix.hu. IN NS ns.iszt.hu.
bix.hu. IN NS ns-s.nic.hu.
www.bix.hu. IN A 193.239.149.1
这样我就可以将sha256sum
它们放在一起,而无需将两个命令的输出写入一个文件和sha256sum
该文件。
问:是这样的:
echo hi | echo hi2 | sha256sum
当然这行不通,但是有什么解决办法吗?所以我需要 sha256sum:
hi
hi2
-->>
697ec886148d94d5b094df14f301f2e5a4abd8098a0e0dc2afb0a97945cea677
但我只能获得不同命令的输出[上面提到的,2个不同的域]。 [只是想编写一个“DNS 检查器”脚本来在域的 DNS 记录发生更改时警告我]
答案1
通用的解决方案如下:
{ command1; command2; } | some-other-command
答案2
您可以将多个名称传递给dig
:
dig +nottlid -t any bix.hu www.bix.hu | egrep -v "^;;|^;|^$" | sort
答案3
有两种方法可以在不使用 grep 的情况下准确获得该输出:
关闭您不需要的部分:
dig +nottlid +nocomments +noquestion +nostats +nocmd -t any bix.hu
关闭所有部分,然后打开您需要的部分:
dig +nottlid +noall +authority +answer +additional -t any bix.hu
另外,似乎输出每次都会给出不同的additional
(或“ ”)部分,因此如果您只是想检查区域文件的更改,您可能需要使用。glue
+noadditional